Building on ZADOVO
ZadovoChain uses EVM for contract execution. See Solidity for details.
Remix
Remix IDE is an open-source web and desktop application. It fosters a fast development cycle and has a rich set of plugins with intuitive GUIs. Remix is used for the entire journey of contract development and is a playground for learning and teaching contract development.
Create a new file in File Explorer. Edit contact info on the right side.
Compile contract
Click the compiler button, switch the UI
Select the contract you want to compile
Set compile flags
Click compile button
Deploy contract to the blockchain via a wallet such as MetaMask.
Set network info in
Metamask.Back to
Remix.
Switch environment
Select contract
click deploy button
The contract can be deployed on the chain through MetaMask
Truffle
Use Truffle to compile and deploy contracts.
Install truffle
Run
truffle versionafter installation finished. If the command line displays a message like below, installation is successful.
Truffle v5.1.36 (core: 5.1.36)
Solidity v0.5.16 (solc-js)
Node v10.22.1
Web3.js v1.2.1Create project
First, create a folder for the project.
Then, init project via truffle
After initialization is complete, the following file structure is generated within the project.
|-- contracts //folder for contracts
|-- migrations //folder for deployment scripts
|-- test //folder for test scripts
|-- truffle-config.js //truffle config fileConfig truffle info
const HDWalletProvider = require('@truffle/hdwallet-provider');
const fs = require('fs');
const mnemonic = fs.readFileSync(".secret").toString().trim();
module.exports = {
networks: {
testnet: {
provider: () => new HDWalletProvider(mnemonic, 'https://'),
network_id:
},
mainnet: {
provider: () => new HDWalletProvider(mnemonic, 'https://'),
network_id:
}
},
// Set default mocha options here, use special reporters etc.
mocha: {
// timeout: 100000
},
// Configure your compilers
compilers: {
solc: {
// version: "0.5.1", // Fetch exact version from solc-bin (default: truffle's version)
// docker: true, // Use "0.5.1" you've installed locally with docker (default: false)
// settings: { // See the solidity docs for advice about optimization and evmVersion
// optimizer: {
// enabled: false,
// runs: 200
// },
// evmVersion: "byzantium"
// }
},
},
};Create contract: Put custom contracts into folder
contractsand modify deployment script in foldermigrations.Deploy contract
Run the deployment command.
truffle migrate --network testnetThe output as below.
2_example_migration.js
======================
Deploying 'ExampleToken'
------------------------
> transaction hash: 0x91e50594a63bc6f4c299f3f445868571678be306b835bddce6dff5c7a5ddf9dc
> Blocks: 2 Seconds: 4
> contract address: 0x54D2049715FC8De1361D7350de90eb05F0f6CA84
> block number: 375304
> block timestamp: 1608016637
> account: 0x03D32B774295D740ffEe43b20fcC0a53acC576e6
> balance: 878.909609236165318643
> gas used: 1056044 (0x101d2c)
> gas price: 20 gwei
> value sent: 0 ETH
> total cost: 0.02112088 ETH
> Saving migration to chain.
> Saving artifacts
-------------------------------------
> Total cost: 0.02112088 ETH
Summary
=======
> Total deployments: 1
> Final cost: 0.02112088 ETHFinally, the contract deployment is complete.
Last updated