質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Solidity

Solidityは、仮想通貨イーサリアム上で実行できるプログラミング言語。スマートコントラクトやDAppsなどの開発・実装に用いられます。コントラクト指向・高水準な言語のため、イーサリアム上で動作するEVM Codeに翻訳することが可能です。

web3.js

web3.jsは、Ethereumのノードとローカルの通信を可能にできるJavaScript APIです。HTTPやIPCを使って通信を行い、gethを毎回起動せずにブラウザからコントラクトを実行できます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1659閲覧

web3.jsでsend関数のコールバックでcall関数を動かそうとするとエラーになる

beta

総合スコア13

Solidity

Solidityは、仮想通貨イーサリアム上で実行できるプログラミング言語。スマートコントラクトやDAppsなどの開発・実装に用いられます。コントラクト指向・高水準な言語のため、イーサリアム上で動作するEVM Codeに翻訳することが可能です。

web3.js

web3.jsは、Ethereumのノードとローカルの通信を可能にできるJavaScript APIです。HTTPやIPCを使って通信を行い、gethを毎回起動せずにブラウザからコントラクトを実行できます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2020/03/23 14:15

###やりたい事
ERC721トークンを発行した後、フロントエンドからイベントをサブスクライブして、イベントのコールバック関数でコントラクトのcall関数を呼び出したい。
ですが、call関数が以下のエラーになります。

エラーメッセージ

inpage.js:1 MetaMask - RPC Error: header not found {code: -32000, message: "header not found"} Uncaught (in promise) {code: -32000, message: "header not found"}

###コード

let name1 = this.state.name; contract.events.Success({filter:{_user:u_account}}) .on("data",function(event){ let data = event.returnValues; if(data._category == "create success"){ contract.methods.getTokenOwner(name1).call({from:u_account,gas:5000000}).then(function(owner){

かっこの閉じる部分は、途中のコードが長くなるので省略しています。
実行してみて、デバッグのために書いたconsole.logが途切れるのは、contract.methods.getTokenOwnerの部分です。
そこが何故か、メインネットでは実行されません。

###試した事

・gasを500万にしてみる
・console.logでどこまで動いているか割り出す
・MetaMaskの設定を確かめ、自動ログアウト時間を5分から一時間に修正したが同じエラー
・SSL関係かと思い、ReactをSSL化されたサーバにアップしたが、同じエラー

###その他
・テストネットのRinkebyとRopstenではとてもスムーズに動きます。
メインネットでだけ、上記エラーが頻繁に出ます。
・他の関数は、純粋なcall関数でも時々、上記と同じエラーが出ます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

色々試してみてそれでも解決しなかったので、このコードを使わないで済むよう、機能を一部省略する事でこのエラーを回避しました。

根本的な解決策はまだ分からないままです。

投稿2020/03/23 20:19

beta

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問