status-dev-cli/README.md

92 lines
2.8 KiB
Markdown
Raw Normal View History

2017-02-02 17:23:08 +03:00
# Status CLI
Additional tools for DApps developers. These tools allows to speed up the process of developing DApps for Status.
2017-02-09 14:53:04 +03:00
`status-dev-cli` is included in Status bundle, and all these commands can be executed directly from `status-react` directory.
However, `status-dev-cli` is a standalone tool and you can install it without Status.
2017-02-02 17:23:08 +03:00
## Requirements
2017-02-08 17:35:30 +03:00
1. adb (from Android SDK);
2. curl;
3. Node.js;
4. NPM;
5. Watchman (https://facebook.github.io/watchman/docs/install.html).
2017-02-02 17:23:08 +03:00
## Installing standalone
```
git clone https://github.com/status-im/status-dev-cli.git
cd status-dev-cli
npm i -g
```
2017-02-09 14:53:04 +03:00
## How to
To make debugging work we run a web server on your device. It runs on port 5561 on both iOS and Android, but only if you need it.
To start a server you need to:
1. Connect your device to computer;
2. In the case you're developing for Android, you need to use a port forwarding.
Execute `adb forward tcp:5561 tcp:5561`;
3. Open Status application and log in;
4. Open `Console` chat and execute `/debug` command providing "On" as the argument.
You can also easily turn the server off from here.
**Note:** if you turn the server on, it will start automatically the next time you log in.
### Scenario
Imagine you are developing a DApp on your computer. You have a directory where all DApp files are placed,
and there is a server running on your computer. Let's say it is running on port 8080, so you can access
your DApp by typing http://localhost:8080 in your browser.
1. Add a DApp to Status by executing `./status-dev-cli add-dapp localhost '{"whisper-identity": "dapp-test", "dapp-url": "http://localhost:8080/", "name": "My Dapp"}'`;
2. Open the "My Dapp" on your device;
3. Optional: Execute `./status-dev-cli watch-dapp localhost "dapp-test" ~/Documents/Dev/MyDapp` to start automatically refreshing your DApp in Status browser when you change the DApp's code.
## API
2017-02-02 17:23:08 +03:00
### Adding DApp
2017-02-08 17:35:30 +03:00
`./status-dev-cli add-dapp <ip> <dapp>`
2017-02-02 17:23:08 +03:00
2017-02-08 17:35:30 +03:00
* `ip` — device IP address;
2017-02-02 17:23:08 +03:00
* `dapp` — JSON containing DApp information. Required fields are `name`, `dapp-url` and `whisper-identity`.
Example:
```
./status-dev-cli add-dapp \
2017-02-08 17:35:30 +03:00
localhost \
2017-02-02 17:23:08 +03:00
'{"name": "Test dapp", "whisper-identity": "dapp-test", "dapp-url": "http://localhost:1234"}'
```
### Removing DApp
2017-02-08 17:35:30 +03:00
`./status-dev-cli remove-dapp <ip> <dapp_identity>`
2017-02-02 17:23:08 +03:00
2017-02-08 17:35:30 +03:00
* `ip` — device IP address;
2017-02-02 17:23:08 +03:00
* `dapp_identity``whisper-identity` of your DApp.
Example:
```
2017-02-08 17:35:30 +03:00
./status-dev-cli remove-dapp localhost "dapp-test"
2017-02-02 17:48:56 +03:00
```
2017-02-02 17:52:32 +03:00
### Watching for DApp changes and refreshing DApp automatically
2017-02-02 17:48:56 +03:00
2017-02-08 17:35:30 +03:00
`./status-dev-cli watch-dapp <ip> <dapp_identity> <dapp_dir>`
2017-02-02 17:48:56 +03:00
2017-02-08 17:35:30 +03:00
* `ip` — device IP address;
2017-02-02 17:48:56 +03:00
* `dapp_identity``whisper-identity` of your DApp;
* `dapp_dir` dir that should be observed.
Example:
```
2017-02-08 17:35:30 +03:00
./status-dev-cli watch-dapp localhost "dapp-test" ~/Documents/DApps/dapp-test/
2017-02-02 17:48:56 +03:00
```