簡體   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