Giter Club home page Giter Club logo

remixd's Introduction

Remixd

Remixd is a tool that intend to be used with Remix IDE (aka. Browser-Solidity). It allows a websocket connection between Remix IDE (web application) and the local computer.

Practically Remix IDE make available a folder shared by Remixd.

More details are explained in this tutorial.

Alternatively Remixd can be used to setup a developement environment that can be used with other popular frameworks like Embark, Truffle, Ganache, etc..

Remixd needs npm and node

INSTALLATION

npm install -g remixd

HELP SECTION

  Usage: remixd -s <shared folder>

  Provide a two ways connection between the local computer and Remix IDE.
  

  Options:

    -s, --shared-folder <path>            Folder to share with Remix IDE
    -m, --mist                            start mist
    -g, --geth                            start geth
    -p, --dev-path <dev-path>             Folder used by mist/geth to start the development instance
    -f, --frontend <front-end>            Folder that should be served by remixd
    -p, --frontend-port <front-end-port>  Http port used by the frontend (default 8082)
    -a, --auto-mine                       mine pending transactions
    -r, --rpc <cors-domains>              start rpc server. Values are CORS domain
    -rp, --rpc-port                       rpc server port (default 8545)
    -h, --help                            output usage information

SHARE A FOLDER

remixd -s <absolute-path>

The current user should have read/write access to the folder (at least read access).

It is important to notice that changes made to the current file in Remix IDE are automatically saved to the local computer every 5000 ms. There is no Save action. But the Ctrl-Z (undo) can be used.

Furthermore :

  • No copy of the shared folder are kept in the browser storage.
  • It is not possible to create a file from Remix IDE (that might change).
  • If a folder does not contain any file, the folder will not be displayed in the explorer (that might change).
  • Symbolic links are not forwarded to Remix IDE.

START GETH, MIST and setup a developement environment

Remix allows to start a dev environment. Geth is used to spawn a dev blockchain and Mist to provide an user interface to interact with dapps in developement and Remix IDE (It is also possible to use Metamask and a normal browser)

Mist and Geth are not shipped with Remixd.

Download Mist at https://github.com/ethereum/mist/releases

Downloaf Geth at https://ethereum.github.io/go-ethereum/downloads

Usage:

remixd --dev-path /home/devchains/chain1 --mist --geth --frontend /home/frontend --frontend-port 8084 --auto-mine

  • start geth.
  • start mist.
  • create a new data folder (dev-path option) if it doesn't exist containing blockchain data and keys.
  • serve a local folder through an http server (frontend and frontend-port option). This option may be used if you want to browse your dapp using Mist or a normal browser and Metamask (see third example) (https://metamask.io). In this example the web application located at /home/frontend will be available at http://127.0.0.1:8084
  • start to mine automatically when new transactions are created.

remixd -s /home/user/project1/contracts


remixd --dev-path /home/devchains/chain1 --rpc --rpc-port 8545 --geth --frontend /home/frontend --frontend-port 8084 --auto-mine

  • do the same as the first example but do not start Mist.  It is still possible to browse a front end app using a normal browser and Metamask. The connection between Metamask and geth has to be dome via rpc connection and thus the rpc server has to be enabled (rpc and rpc-port options).

 Note that in that case Remix IDE (remix.ethereum.org) does not need Metamask. It is possible to use the Web3 Provider option of Remix to connect to the Geth RPC endpoints.  

remixd's People

Contributors

tanevanwifferen avatar yann300 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.