(solidity javascript )Uncaught (in promise) Error: sending a transaction requires a signerエラーの原因
22/04/24 00:10
どこで出たかわからないけど、多分引数がいる場合はSignerが要るよということだと思われ。
ethers-5.2.umd.min.js:1 Uncaught (in promise) Error: sending a transaction requires a signer (operation="sendTransaction", code=UNSUPPORTED_OPERATION, version=contracts/5.2.0)
at Logger.makeError (ethers-5.2.umd.min.js:1:59669)
at Logger.throwError (ethers-5.2.umd.min.js:1:59874)
at Contract.<anonymous> (ethers-5.2.umd.min.js:1:312289)
at step (ethers-5.2.umd.min.js:1:305047)
at Object.next (ethers-5.2.umd.min.js:1:304307)
at ethers-5.2.umd.min.js:1:303953
at new Promise (<anonymous>)
at __awaiter (ethers-5.2.umd.min.js:1:303591)
at Contract.<anonymous> (ethers-5.2.umd.min.js:1:312138)
at projectAllowance (index2.js:219:35)
https://github.com/demio-se/JPYC_hackathon
で、これの原因は構造体structの配列を関数の中でmemoryとして呼び出していたから。
struct Project {
string toTwID; //支援される人。お金受け取る人
string fromTwID; //支援する人。お金送る人
address fromAddress; //支援する人のウォレットアドレス
uint256 amount; //支援額。allowanceで取れるので、要らないかも?と思ったけど送金してもらうことになったので必要
bool isFinish; //プロジェクトの終了。trueなら終了
}
-------
関数の中
Project memory tempProject = allProjects[i]; //←これが原因だった
solidityは構造体とかstringの使い勝手悪い!
いいなと思ったら応援しよう!
![デミオ(Web3開発中)](https://assets.st-note.com/production/uploads/images/122905407/profile_f7f71dbf6921ebb0df7615d47924e2c7.png?width=600&crop=1:1,smart)