javascript
ubuntu环境下搭建Ethereum测试私链及JSON-RPC合约交互
區(qū)塊鏈,隨著bitcoin的出現(xiàn)已經(jīng)風(fēng)靡全球,不管你信不信,這種去中心化運(yùn)營的創(chuàng)新方式正在全球掀起一場技術(shù)革命!
國泉能想象出那些站在風(fēng)口上的人,豬都能被吹的飛起來,這也讓我學(xué)到了什么是順勢而為。
--------------------------------------------------------分割線----------------------------------------------------------------------
回到工作,站在游戲的角度,數(shù)字資產(chǎn)上鏈token化,國泉能想到的好處有這么幾點(diǎn):
1、去中心化運(yùn)營,游戲里的數(shù)字資產(chǎn)所有權(quán)真正歸還于玩家,不再是開發(fā)商說了算,大大曾加了公信力。
2、多個(gè)游戲之間token可以相互流通,降低了資產(chǎn)流通的運(yùn)營成本。
3、資產(chǎn)保值,token總量是固定的,后期無法增加或者減少,價(jià)格取決于用戶的認(rèn)可度。
?
概念如圖
?
要基于區(qū)塊鏈技術(shù)完成項(xiàng)目的落地,國泉知道的兩種渠道:
1、基于bitcoin或者其他開源項(xiàng)目源代碼,修改創(chuàng)世快,產(chǎn)幣機(jī)制等,然后重新編譯,這種方式的優(yōu)點(diǎn)是只有人工成本,在時(shí)間寬裕的情況下也是最優(yōu)選擇。
2、基于ETH、EOS等平臺,編寫業(yè)務(wù)合約API代碼,這種方式的優(yōu)點(diǎn)是項(xiàng)目落地快,缺點(diǎn)是平臺費(fèi)用高,效率低,天下武功,唯快不破。
?
?一、環(huán)境搭建
1、下載并安裝geth客戶端,選擇geth完全是因?yàn)閲枰诋a(chǎn)品里調(diào)用API進(jìn)行合約交互。
?
2、編寫創(chuàng)世區(qū)塊,保存至同一目錄。
? ? ? ??
?
3、初始化創(chuàng)世快
./geth --datadir data --networkid 20181206 --rpc --rpccorsdomain "*" --rpcapi "admin,miner,db,eth,net,web3,personal" --nodiscover --port 8544 --rpcport 8545 init genesis.json
datadir//賬戶數(shù)據(jù)存放目錄
networkid//網(wǎng)絡(luò)id,1為主網(wǎng)絡(luò),2~6為測試公共網(wǎng)絡(luò),這里隨意設(shè)置表示為私鏈。
rpcapi//客戶端可提供的服務(wù)接口類型,后期會在API里頻繁調(diào)用eth\miner\personal,根據(jù)需要設(shè)置
?
? 4、啟動服務(wù)并打開一個(gè)控制臺窗口,這樣測試的時(shí)候可以在控制臺里查看合約里的信息,國泉一般用nohup設(shè)置為守護(hù)進(jìn)程運(yùn)行。
./geth --datadir data2 --networkid 20181206 --rpc --rpccorsdomain "*" --rpcapi "admin,miner,db,eth,net,web3,personal" --nodiscover --port 8544 --rpcport 8545 console
下面的操作采用控制臺+終端curl命令結(jié)合的方式操作,因?yàn)楹霞s部署和賬戶操作控制臺更方便,合約的調(diào)用由于要測試接口,所以新開一個(gè)終端用curl測試。
5、創(chuàng)建兩個(gè)賬戶,密碼為123
6、挖礦,獲得幣,默認(rèn)到第一個(gè)賬戶,挖一會看見日志出block了就可以停,接著使用命令確認(rèn)第一個(gè)賬戶有余額(有余額才能部署合約)。
?miner.start()
? miner.stop()
eth.getBalance(eth.accounts[0])
7、編寫合約,可以從網(wǎng)上隨意找一個(gè)模板,用eth在線編譯器編譯合約,復(fù)制ABI和ByteCode到本地
在線編譯器https://remix.ethereum.org/如果沒有梯子可能打不開,不行可以去下載源碼安裝到本地https://github.com/ethereum/remix?
? ? ? ?
8、合并
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/GuoQuanLiu/articles/10079648.html
總結(jié)
以上是生活随笔為你收集整理的ubuntu环境下搭建Ethereum测试私链及JSON-RPC合约交互的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ssh 生成公钥
- 下一篇: JavaScript--获取页面盒子中鼠