ブロックチェーン上の情報をGETする方法(gethの場合)

ブロックチェーン上の情報をGETする方法(gethの場合):


はじめに

初投稿です。

今回は、BCからデータを吸い取る方法を載せます。


コード

多分見れば、分かりますw

実行環境として

Gethを使用しています。

ビットコインの場合はまた違うと思います。

bcCheck.js
var Web3 = require('web3'); 
var web3 = new Web3(); 
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545')); 
 
var blockNumber = web3.eth.blockNumber; 
console.log("blockNumber:  " + blockNumber); 
 
for(var i = 0;i <blockNumber;i++){ 
  if(web3.eth.getTransactionFromBlock(i) != null){ 
    var getInputSlice = web3.eth.getTransactionFromBlock(i).input.substr(0,10); 
    if(getInputSlice == "0x42f09166"){ 
      var getInput = web3.eth.getTransactionFromBlock(i).input 
 
      console.log("getInput:  " + i  + ":  " + JSON.stringify(getInput)); 
    } 
    console.log("getInput:  " + i  + ":  " + JSON.stringify(getInputSlice)); 
  } 
} 


コード説明

ここでweb3でGethと接続する

var Web3 = require('web3'); 
var web3 = new Web3(); 
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545')); 
(web3.eth.getTransactionFromBlock(i) != null)でそのブロックにトランザクションがあるかどうかが分かる。

トランザクションがないブロックにはinputがないため

ここで、(web3.eth.getTransactionFromBlock(i).input != null)と書くと、エラーが出る。
for(var i = 0;i <blockNumber;i++){ 
  if(web3.eth.getTransactionFromBlock(i) != null){ 
    var getInputSlice = web3.eth.getTransactionFromBlock(i).input.substr(0,10); 
    if(getInputSlice == "0x42f09166"){ 
      var getInput = web3.eth.getTransactionFromBlock(i).input 
 
      console.log("getInput:  " + i  + ":  " + JSON.stringify(getInput)); 
    } 
    console.log("getInput:  " + i  + ":  " + JSON.stringify(getInputSlice)); 
  } 
} 


終わり

今回はこれくらいで終わりです。

分かりにくかったらすいません。

何か疑問点があれば、質問などしてくれたら返事します。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)