openethereum/dapps/js-glue
Tomasz Drwięga e8b418ca03 Update jsonrpc dependencies and rewrite dapps to futures. (#6522)
* Bump version.

* Fix RPC crate.

* Fix BoxFuture in crates.

* Compiles and passes tests!

* Get rid of .boxed()

* Fixing issues with the UI.

* Remove minihttp. Support threads.

* Reimplement files serving to do it in chunks.

* Increase chunk size.

* Remove some unecessary copying.

* Fix tests.

* Fix stratum warning and ipfs todo.

* Switch to proper branch of jsonrpc.

* Update Cargo.lock.

* Update docs.

* Include dapps-glue in workspace.

* fixed merge artifacts

* Fix test compilation.
2017-10-05 12:35:01 +02:00
..
src Updating syntex et al (#4983) 2017-03-21 23:26:05 +03:00
build.rs Updating syntex et al (#4983) 2017-03-21 23:26:05 +03:00
Cargo.toml Update jsonrpc dependencies and rewrite dapps to futures. (#6522) 2017-10-05 12:35:01 +02:00
README.md Updating paths to repos. (#5330) 2017-03-29 15:17:27 +02:00

Parity Dapps (JS-glue)

Code generator to simplify creating a built-in Parity Dapp

How to create new builtin Dapp.

  1. Clone this repository.

    $ git clone https://github.com/paritytech/parity.git
    
  2. Create a new directory for your Dapp. (./myapp)

    $ mkdir -p ./parity/dapps/myapp/src/web
    
  3. Copy your frontend files to ./dapps/myapp/src/web (bundled ones)

    $ cp -r ./myapp-src/* ./parity/dapps/myapp/src/web
    
  4. Instead of creating web3 in your app. Load (as the first script tag in head):

    <script src="/parity-utils/inject.js"></script>
    

    The inject.js script will create global web3 instance with proper provider that should be used by your dapp.

  5. Create ./parity/dapps/myapp/Cargo.toml with you apps details. See example here: parity-status Cargo.toml.

    $ git clone https://github.com/paritytech/parity-ui.git
    $ cd ./parity-ui/
    $ cp ./home/Cargo.toml ../parity/dapps/myapp/Cargo.toml
    $ cp ./home/build.rs ../parity/dapps/myapp/build.rs
    $ cp ./home/src/lib.rs ../parity/dapps/myapp/src/lib.rs
    $ cp ./home/src/lib.rs.in ../parity/dapps/myapp/src/lib.rs.in
    # And edit the details of your app
    $ vim ../parity/dapps/myapp/Cargo.toml # Edit the details
    $ vim ./parity/dapps/myapp/src/lib.rs.in # Edit the details
    

How to include your Dapp into Parity?

  1. Edit dapps/Cargo.toml and add dependency to your application (it can be optional)

    # Use git repo and version
    parity-dapps-myapp = { path="./myapp" }
    
  2. Edit dapps/src/apps.rs and add your application to all_pages (if it's optional you need to specify two functions - see parity-dapps-wallet example)

  3. Compile parity.

    $ cargo build --release # While inside `parity`
    
  4. Commit the results.

    $ git add myapp && git commit -am "My first Parity Dapp".