松露控制台变量声明

Dan*_*zke 5 ethereum solidity truffle

当我尝试进入以太坊编程时,我目前正在关注本教程(https://medium.com/zeppelin-blog/the-hitchhikers-guide-to-smart-contracts-in-ethereum-848f08001f05)。步骤3与已部署的合同进行交互。

当我进入

truffle(default)> var poe = ProofOfExistence1.deployed()
Run Code Online (Sandbox Code Playgroud)

结果是“未定义”,并且也无法与以下命令进行交互。我肯定部署了合同,因为

truffle(development)> ProofOfExistence1.deployed()
Run Code Online (Sandbox Code Playgroud)

获取输出并列出合同内的所有功能等。使用testrpc和geth testnet进行了尝试,所以我想这与松露有关吗?

acd*_*ior 4

.deployed()方法返回一个Promise. 尝试:

truffle(development)> ProofOfExistence1.deployed().then(function(a) { poe = a; })
...
truffle(development)> poe.address
Run Code Online (Sandbox Code Playgroud)

  • 网络上的很多教程仍在展示如何获取 truffle 版本 2 的实例。这已随版本 3 更新。对于 MetaCoin 示例,您可以使用: var meta;MetaCoin.deployed().then(a = > { 元 = a; }) (2认同)