繁体   English   中英

如何在松露中测试具有多个帐户/地址的合同?

[英]How to test contract with multiple accounts / addresses in truffle?

我想用多个msg.sender地址测试我的松露合约。 就像“第一个用户出售代币,第二个用户购买这个代币”一样。 对于一个地址,我只写了一些类似contract.buy.value(10 wei)(); . 但是我在哪里可以得到另一个地址以及如何从他那里汇款?

我在可靠性上编写测试,而不是在 javascript 上。

正如您在Truffle 文档中所见,您可以指定两个不同的帐户来与您部署的智能合约进行交互,如下所示(Metacoin 示例):

var account_one = "0x1234..."; // an address
var account_two = "0xabcd..."; // another address

var meta;
MetaCoin.deployed().then(function(instance) {
meta = instance;
    return meta.sendCoin(account_two, 10, {from: account_one});
    }).then(function(result) {
    // If this callback is called, the transaction was successfully processed.
    alert("Transaction successful!")
}).catch(function(e) {
    // There was an error! Handle it.
})

这是关于如何使用自己创建的令牌。

如果你想在账户之间转移 Ether,你可以在你的 truffle 执行文件(一个 javascript 文件)中指定账户。 而这些账户可能来自你配置的本地区块链(Ganache,如果你使用 Truffle Suite 来测试你的智能合约,它会为你提供多个账户,你可以自己配置这些)。

此外,您可能需要 javascript API 来指定发送方和接收方: web3.eth.sendTransaction

第一次回答问题,希望能帮到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM