#はじめに
初投稿です。
今回は、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));
}
}
#終わり
今回はこれくらいで終わりです。
分かりにくかったらすいません。
何か疑問点があれば、質問などしてくれたら返事します。