以太坊(Ethereum) - truffle脚本


章节


Truffle包含一个脚本运行器,可对以太坊网络执行自定义脚本。

让我们创建一个脚本并执行。

在项目根目录下,创建script.js文件,内容如下:

module.exports = function(callback) {
  web3.eth.getBlock('latest').then(console.log)
}

该脚本将从Kovan测试网络获取最新区块的信息。

执行脚本:

truffle exec script.js --network kovan

输出:

{ author: '0x596e8221a30bfe6e7eff67fee664a01c73ba3c56',
  difficulty: '340282366920938463463374607431768211454',
  extraData:
   '0xde830205058f5061726974792d457468657265756d86312e33362e30826c69',
  gasLimit: '0x7a1200',
  gasUsed: '0x5e61',
  hash:
   '0x225a1e0b13fd20396af60d049ce9bb94c2f3f7df06c7db260880b62c91997004',
  logsBloom:
   '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
  miner: '0x596e8221A30bFe6e7eFF67Fee664A01C73BA3C56',
  number: 13448162,
  parentHash:
   '0x28d00fd7b66771130ed98de5073c7797ee293e7bee4b546793a4b79171555066',
  receiptsRoot:
   '0x44617b5733ee59bde159af08ffd6edae36e0964f1724c333f3d1bef0808dee15',
  sealFields:
   [ '0x84175e95d7',
     '0xb8412ed900e67f4a72925fb3b495efb3f547411f40d26e972cc0e8b2cf26e40cf84a545e0328199d4880b79c62670129a7db12ac58234bee0866c6376b46ab99e8a200' ],
  sha3Uncles:
   '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347',
  signature:
   '2ed900e67f4a72925fb3b495efb3f547411f40d26e972cc0e8b2cf26e40cf84a545e0328199d4880b79c62670129a7db12ac58234bee0866c6376b46ab99e8a200',
  size: 797,
  stateRoot:
   '0xe1bbaacfb950361bec70f4ad53a2605e1ac1d2ff0bfd913fe063dc6c5f3252a0',
  step: '392074711',
  timestamp: 1568298844,
  totalDifficulty: '4525729278306228651801195598997744985609807728',
  transactions:
   [ '0xf1ae41eac6b32419bc62a6cde9cab4b4ca244899a3d49b4a2461bcf94f504176' ],
  transactionsRoot:
   '0xf08c8097ea946f84ce9594ce73648fc0f9f683adef105a5db00c5f1f15e61c2c',
  uncles: [] }

下面的代码智能合约MyContract中,读取value值,将script.js脚本文件中的代码替换为:

const MyContract = artifacts.require("./MyContract.sol");

module.exports = async function(callback) {
  const contract = await MyContract.deployed()
  const value = await contract.get()
  console.log("Value:", value)
}

执行脚本:

truffle exec script.js --network kovan

输出:

Value: hello world

脚本运行器是一个非常有用的功能。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值