5. Deploy Contract
1) Get some testnet KLAY to deploy contract 2) Truffle configuration 3) Deploy setup (select contract which you want to deploy) 4) Deploy
1) Get some KLAY
To deploy contract, we need some KLAY in your account to pay for gas price. You can get 5 KLAY via Klaytn Wallet in the testnet. 1. Create your Klaytn account at Baobab Klaytn Wallet -> PRIVATE KEY
will be used in truffle configuration. So copy it down somewhere 2. After creating your Klaytn account, run faucet to receive 5 Baobab testnet KLAY in Baobab Klaytn Faucet
2) truffle configuration
truffle-config.js
is a configuration file including deployment configuration. We are going to deploy our contract using Private key
we've just created in the previous step. Paste your Private key
that has enough KLAY to truffle-config.js
WARNING: You shouldn't expose your private key. Otherwise, your account would be hacked.
networks
property
networks
propertySee networks
property above. klaytn
network has 4 properties,
provider
, network_id
, gas
, gasPrice
.
provider: () => new HDWalletProvider(PRIVATE_KEY, URL)
Just as the name indicates, it injects private key and url defined above.network_id: NETWORK_ID
Specify network id in Klaytn, you should set it to1001
to use Klaytn Baobab network (testnet).gas: GASLIMIT
Maximum gas you are willing to spend.gasPrice: null
This is price per every gas unit. Currently in Klaytn, the gas price is fixed to'25000000000'
. By setting it tonull
, truffle will automatically set the gas price.
compiler
property
compiler
propertyRemember that for Solidity contract we used version 0.5.6, thus specify compiler version here.
3) Deployment setup
migrations/2_deploy_contracts.js
:
You can specify which contract code will you deploy in your contracts/
directory.
Import your contract file (
Klaystagram.sol
) viaconst Klaystagram = artifacts.require('./Klaystagram.sol')
Use
deployer
to deploy your contract,deployer.deploy(Klaystagram)
.If you want to add more logic after deploying your contract, use
.then()
(optional)To save contracts'
deployedABI
anddeployedAddress
, usefs
node.js modulefs.writeFile(filename, content, callback)
(optional)
cf. For further information about artifacts.require()
, refer to truffle official documentation at truffle docs
4) Deploy
In your terminal type $ truffle deploy --network klaytn
.
It will deploy your contract according to truffle-config.js
and migrations/2_deploy_contracts.js
configuration.
Terminal will display deployed contract address if deployment was successful.
cf) --reset
option
If you provide this option, truffle will recompile and redeploy your contract even if contracts haven't changed.
ex) $ truffle deploy --reset --network klaytn
Last updated