智能合約在線讀取方法
具體問題可以咨詢city.of.beijing@gmail.com
-
HTTP請求(支持ajax)
-
直接curl或者js ajax請求
curl http://www.ethheyue.com/api/contracts
{ "yellowpage": { "c_addr": "0x3b58331ffb2d246838185f8df90ecf2956a4dce1", "owner": "0xc713ad7305ec2eb9d8d7654190ac359293a22968", "url": "www.ethheyue.com", "set": true } }
-
-
通過eth-yellowpage npm包從ethereum blockchain上讀取
讀取信息不需要花費eth
npm包詳細信息和高級用法參見npm包地址-
安裝
npm install eth-yellowpage
-
使用
//首先連接到ethereum blockchain Web3 = require("web3"); //如果rpc server運行在本地8545端口 var web = new Web3(new Web3.providers.HttpProviders("http://localhost:8545")); YellowPage = require("eth-yellowpage").EthYellowPage; var yp = new YellowPage(web3); yp.TotalCount(); //當前注冊的合約總數(shù) var name = yp.GetName(0); //獲取注冊的第一個合約的名稱 if(name){ yp.ReadByName(name); //獲取智能合約信息 }
-
-
直接通過web3.js讀取
不建議新手直接這樣用
獲取智能合約黃頁的abi文件
拷貝當前黃頁所在的地址 0x3b58331FFB2D246838185f8DF90eCF2956A4dce1
-
使用
//建立連接,同上述,跳過 var abi = JSON.parse(fs.readFileSync("剛剛下載的abi文件路徑")); //創(chuàng)建合約的代理 var contract = web.eth.contract(abi); //獲取合約實例 var instance = contract.at("0x3b58331FFB2D246838185f8DF90eCF2956A4dce1"); //獲取當前注冊合約總數(shù) instance.NamesCount(); //獲取指定名稱"yellowpage"的合約信息 //這里獲取的是hash后的值, instance.pages.call("yellowpage");