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