Erc-721

ERC721 測試 transferFrom()

  • March 2, 2021

如何測試(松露測試或開發控制台)以下內容:

await nft.transferFrom(accounts[0], accounts[1], 1); 
await nft.transferFrom(accounts[1], accounts[0],1);

第二行拋出

ERC721: transfer caller is not owner nor approved

如果我改為

await nft.transferFrom(accounts[1], accounts[0],1,{from: accounts[1]});

拋出以下異常:

Ownable: caller is not the owner

那我該如何測試從另一個賬戶轉賬accounts[0]呢?

Truffle 支持所有呼叫的可選參數。你至少可以在這裡看到它們(即使這是預設參數,它對任何呼叫都有效):https ://github.com/trufflesuite/truffle/tree/master/packages/contract#mycontractdefaultsnew_defaults

所以你可以只是一個額外的參數from,像這樣:await nft.transferFrom(accounts[0], accounts[1], 1, { from: accounts[1] });

引用自:https://ethereum.stackexchange.com/questions/94114