スマートコントラクトストレージデータを取得する方法は?
3 回答
- 投票
-
- 2019-05-06
解決策を見つけました!
私にとっては:
function httpGet() { let xmlHttp = new XMLHttpRequest(); xmlHttp.open( "GET", 'https://alphanet-node.tzscan.io/chains/main/blocks/head/context/contracts/<CONTRACT_ADDRESS>/storage', false ); // false for synchronous request xmlHttp.send( null ); return JSON.parse(xmlHttp.responseText) }
ストレージデータを含むJSONオブジェクトを返します.
I found the solution!
For me it:
function httpGet() { let xmlHttp = new XMLHttpRequest(); xmlHttp.open( "GET", 'https://alphanet-node.tzscan.io/chains/main/blocks/head/context/contracts/<CONTRACT_ADDRESS>/storage', false ); // false for synchronous request xmlHttp.send( null ); return JSON.parse(xmlHttp.responseText) }
It returns JSON object with storage data.
-
- 2020-03-15
TzscanがDuneネットワークに参加し、APIが大幅に変更される可能性があるため、アプリが破損します. タキートを使ってみませんか?シンプルでエレガントで、パッケージはアプリにバンドルされているため、アップデートがあっても壊れることはありません.
import { Tezos } from "@taquito/taquito"; [...] Tezos.setProvider({...}); const contract = await Tezos.contract.at(contractAddress) const storage = await contract.storage();
これで、ストレージに簡単にアクセスできるだけでなく、マップ/ビッグマップでキー/値を検索することもできます:)
Tzscan has joined the Dune network and APIs can change quite dramatically, which will break your app. Why not using Taquito? It is simple and elegant and the package being bundled with your app, it won't break if there is an update.
import { Tezos } from "@taquito/taquito"; [...] Tezos.setProvider({...}); const contract = await Tezos.contract.at(contractAddress) const storage = await contract.storage();
And that's it, in addition of having an easy access to the storage, you can also search your Maps/BigMaps for keys/values :)
-
- 2020-03-30
eztz関数を使用できます.
storage = await eztz.contract.storage(contractAddress);
出力はJSON形式になります.出力を次のように文字列化できます
JSON.stringify(storage);
お役に立てば幸いです.頑張ってください...
You can use eztz function as that worked for me,
storage = await eztz.contract.storage(contractAddress);
The output will be in JSON format, you can stringify the output as,
JSON.stringify(storage);
Hope that will help you. Good luck...
スマートコントラクトストレージデータを取得しようとしています:
しかしエラーが発生しました:
TypeError: contract.storage is not a function
また、tzscanでこのためのAPIメソッドを見つけようとしました.
ストレージデータを受信するためのアイデアはありますか?
ご協力いただきありがとうございます