Solidity

無法從我的其他 Solidity 合約文件中讀取函式

  • March 23, 2022

我正在關注 Crypto Zombies 學習項目。這是一個多頁項目,其中一個文件從另一個文件導入,我正在嘗試使用安全帽在本地對其進行測試。現在我的問題是當我嘗試測試我的

await contractInstance.transferFrom(alice, bob, id, {from: alice});

功能,我得到這個錯誤

TypeError:contractInstance.transferFrom 不是函式

我需要這樣的項目中的第一份(進入)契約

const ZombieFactory = artifacts.require("ZombieFactory");

我需要在該文件上測試的功能有效。構成項目的所有其他文件上的功能都失敗了,我不知道為什麼。在 Crypto 殭屍網站上,他們也只需要該條目 ZombieFactory 文件。

我在這裡把整個項目結構推到了github上

Git 中心連結

您的合約中沒有任何transferFrom功能,ZombieFactory.sol只有兩個公共/外部功能:

function createRandomZombie(string memory _name) public;

function kill() public;

您應該進行部署ZombieOwnership.sol,以便您的合約具有所有功能,包括transferFrom

殭屍繼承

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