0.1.0 • Published 5 years ago

solidity-web v0.1.0

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

Solidity Web Automation Tool

This tool is built on top of truffle-suite & express.js and is meant for deploying server-side code. The client-side is implemented using web3.js. It automatically and dynamically generates client-side code for accessing your smart-contracts. This tool simplifies the implementation of distributed apps (dapp), by taking care of configurations and auto-generating client api's.

NPM Package

npm i solidity-web

How to get started:

1. Initialize truffle
It will generate contracts and migrations folders.

truffle init

2. Uncomment network configurations in truffle-config.js

networks: {
     development: {
      host: "127.0.0.1",     // Localhost (default: none)
      port: 8545,            // Standard Ethereum port (default: none)
      network_id: "*",       // Any network (default: none)
     },
...
}

3. Run the Ethereum Node

ganache-cli

4. Implement your solidity smart contracts in the contracts folder
The migration files are autogenerated. They can be customized after deployment (step 5) and be redeployed again to update changes.

5. Initialize your contracts in another terminal

solidity-web init

6. Deploy your contracts
The command below will deploy contracts and use the default configurations as defined in truffle-config.js (step 2).

solidity-web deploy

Custom port and host for the webserver can be set as follows:

solidity-web deploy web-host=<host> web-port=<port-number>

This command calls truffle's truffle migrate command underneath, which compiles the .sol files and creates a build folder with json files. On top of this, the solidity-web tool will generate an app folder, which contains the server- and client-side implementation. The app.js file is the server-side code, which launches the container. It can be changed to add rest functionality or or frontend code (HTML/Javascript/CSS). The contracts.js file creates a reference for each smart-contract. For demonstration purposes, an index.html is already present and references all smart-contract instances defined in contract.js.

7. Start the express webserver

node app/web/app.js

The default url is http://localhost:8181