With using Truffle framework. Powered by Ethereum.
$ npm i -g truffle
$ npm i
$ npm run develop
> compile
> migrate --reset
> test
$ npm run ropstenInfura
> compile
> migrate --reset
geth --testnet --syncmode "light" --rpc --rpcport 7545 --rpcapi "personal,admin,eth,web3,net" --rpccorsdomain "*" --rpcvhosts "*" --maxpendpeers 10
$ npm run ropstenNode
> compile
> migrate --reset
$ npm run mainnetInfura
> compile
> migrate --reset
geth --syncmode "light" --rpc --rpcport 7545 --rpcapi "personal,admin,eth,web3,net" --rpccorsdomain "*" --rpcvhosts "*" --maxpendpeers 10
$ npm run mainnetNode
> compile
> migrate --reset
1. Configure accounts in script/config/accounts.json
2. Configure params in migrations/2_deploy_contracts.js
3. Configure deployer account (nmemonic in .env)
4. Set gaslimit/gasprice (.env)
truffle compile --network <NET>
truffle migrate --network <NET> --reset
truffle exec scripts/init.js --network <NET>