以太坊Truffle MetaCoin部署运行
以太坊Truffle MetaCoin部署运行
下载Truffle
- 检查npm和node依赖版本:(node: v14.18.1,npm: 6.14.15)
- npm下载安装Truffle
npm install -g truffle
下载项目
- 为 Truffle 项目MetaCoin创建新目录:
mkdir MetaCoin
cd MetaCoin
- 下载 (“unbox”) MetaCoin box:
truffle unbox metacoin
编译合约
truffle compile
测试(可选)
truffle test
部署合约
使用 Truffle Develop 部署
- 运行 Truffle Develop:
truffle develop
- 部署合约:在 truffle(develop)> 提示符下, Truffle 的命令可以不带前缀 truffle 执行。比如,可以直接输入compile 来执行truffle compile,以及直接输入 migrate 来部署编译的智能合约到区块链(相当于truffle migrate):
migrate
通过 Ganache 部署
- 编辑器打开 truffle-config.js ,使用下面的内容:
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 8545, //ganache监视的端口号
network_id: "*"
}
}
};
- 运行Truffle console:
truffle console
- 部署合约:
migrate
与智能合约交互
- 获取部署的合约
let instance = await MetaCoin.deployed()
- 查看所有账户
accounts
或者let accounts = await web3.eth.getAccounts()
- 查看账户余额:Call
let balance = await instance.getBalance(accounts[0])
balance.toNumber()
- 执行交易:
instance.sendCoin(accounts[1], 10, {from: accounts[0]})
balance = await instance.getBalance(accounts[0])
balance.toNumber()
Either Excellent or Rusty