Getting Started in Smart Contract Development with Solidity
This guide is prepared by @BunHouth.
Solidity is an object-oriented, high-level language for implementing smart contracts. Smart contracts are programs which govern the behaviour of accounts within the Ethereum state. Solidity is a curly-bracket language. It is influenced by C++, Python and JavaScript, and is designed to target the Ethereum Virtual Machine (EVM).
web3.js is a collection of libraries that allow you to interact with a local or remote ethereum node using HTTP, IPC or WebSocket.
Setup Development
Prerequisites
Operating system: OSX or Linux(Ubuntu, Cenos, ...etc)
Software: node js(npm, yarn) or python
Install node js
Ubuntu
OSX
Setup smart contract project
Generate smart contract
Reference generate blank project
Structures:
/contracts: store original codes of the smart contract. We will place our HelloWorld.sol file here.
/migrations: deploy the smart contract in the “contracts” folder.
/test: test codes for your smart contract, support both JavaScript and Solidity.
truffle.js: configuration document.
truffle-config.js: configuration of deployment.
Step 2: Create HelloWeb3Together contract. There are two ways to create a new contract: Directly place HelloWeb3Together.sol” file under “contracts” folder. In the “web3together” folder, run command:
Copy the following codes into HelloWeb3Together.sol”:
Step 3: Compile “HelloWeb3Together” with the following command.
This compiles the original code into Ethereum bytecode. If everything goes well, it will create .json file under build/contracts folder. Step 4: Deploy “HelloWeb3Together” contract.
Create
2_deploy_contracts.js
under migrations folders. Truffle is run following orderCopy and past the following deploying content into the “2_deploy_contracts.js”.
Modify truffle-config.js and add following content to network section. If you are using public chain or private chain please add many section as you want.
Start Ganache Local network and run following command on other tab or new terminal
Deploy smart contract to local network
if contract already deploy and want to redeploy please add --reset
option After run truffle migrate
we will see deploy log in the same terminal. 6. Additional setup for deploy contract to public chain testnet(rinkeby)
Additional dependency
Add following content into network sections. reference
RPC Service
🎉Congrats! The “Web3Together” smart contract has been successfully deployed to Ganache.
Running Smart Contract online tool
Last updated