geth連接web3筆記

1、啟動(dòng)geth
geth --datadir data --networkid 1101 --rpc --rpcapi "web3,eth,personal,net" --rpccorsdomain "*" console

2、在geth里面新建一個(gè)賬戶并且解鎖
personal.newAccount('123456')
(括號(hào)里面是賬戶的密碼)
解鎖賬戶0
personal.unlockAccount(eth.accounts[0])

8DB3F564-E1D3-4512-B5D3-8C3116404387.png

ps:如果操作過程中又出現(xiàn)accounts unlock的報(bào)錯(cuò),你就重新再解鎖賬戶

3、創(chuàng)建合約
在deploy.js文件里面粘貼下邊的代碼
var Web3 = require("web3");//引入web3 var web3 = new Web3();//聲明 web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));///連接以太坊

接下來粘貼畫圈的代碼

4459E8F3-2744-4B7E-B962-0D77F5FEAFE7.png

然后在控制臺(tái)進(jìn)入deploy.js所在路徑,然后輸入
node deploy.js

4、合約部署
在geth控制臺(tái)里面輸入
miner.start()
看到

B3C501B3-AE3B-4D0E-8091-CEF9B3EDF45F.png

輸入miner.stop()

5、這個(gè)時(shí)候在node deploy.js的那個(gè)控制臺(tái)會(huì)出現(xiàn)address:。。。。。。
把a(bǔ)ddress后邊的數(shù)字復(fù)制下來

6、新建一個(gè)文件 test.js
輸入
var Web3 = require("web3");//引入web3 var web3 = new Web3();//聲明 web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));///連接以太坊

A90F5C8F-FF3F-4E70-8B0A-6A0F764DF74A.png

上圖中的第一行

FCD21085-1971-4FFF-9FD2-DEC5044D018E.png

括號(hào)里面的東西換成solidity編譯器interface后邊的代碼

第二行mycontract。at()括號(hào)里是第五步復(fù)制的address。

7、你的合約調(diào)用
第一步 :把學(xué)生的信息存到區(qū)塊鏈
在第二行后邊加下邊的代碼
var userID=myContractInstance.newStu.sendTransaction(web3.eth.accounts[0],"loutong2",2012210596,"students",{from: web3.eth.accounts[0],gas:470000});
編譯 node test.js
然后去geth挖礦

第二步
先把存信息的那行代碼注釋掉?。。?!
然后查詢學(xué)生信息
console.log(myContractInstance.getStu(2012210596).toString());
2012210596是學(xué)生的學(xué)號(hào),你和上邊的學(xué)號(hào)對(duì)應(yīng)就行

8、現(xiàn)在你就完成了向區(qū)塊鏈存學(xué)生信息,并查詢學(xué)生信息

你需要接下來完成:
1、通過node訪問數(shù)據(jù)庫,把數(shù)據(jù)庫的信息查出來一條存在區(qū)塊鏈一條,最終完成數(shù)據(jù)庫的信息存到區(qū)塊鏈上的一個(gè)轉(zhuǎn)換
2、查詢頁面的編寫
3、最終形成一個(gè)學(xué)生數(shù)據(jù)存到了區(qū)塊鏈上,用戶可以通過查詢頁面查詢上邊的信息的應(yīng)用
吧啦吧啦 你自己再想想還要做點(diǎn)其他的什么

ps
提高功能:
把數(shù)據(jù)庫信息轉(zhuǎn)到區(qū)塊鏈上的過程用戶化。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容