openethereum/dapps/js-glue
Tomasz Drwięga aca82fb84b Removing submodule in favour of rust crate (#2756)
* Removing submodule

* Fixing UI dependency structure.

* Merging RS and JS package

* Updating release script to push also rs files

* fix merge gone wrong

* Fixing compilation
2016-10-22 20:07:12 +02:00
..
src Removing submodule in favour of rust crate (#2756) 2016-10-22 20:07:12 +02:00
build.rs Initial import of new UI (compiled JS code) (#2220) 2016-10-17 11:56:42 +02:00
Cargo.toml Initial import of new UI (compiled JS code) (#2220) 2016-10-17 11:56:42 +02:00
README.md Initial import of new UI (compiled JS code) (#2220) 2016-10-17 11:56:42 +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/ethcore/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/ethcore/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".