第一章 區塊鏈系列 聯盟鏈FISCO BCOS 底層搭建

 

想了解相關區塊鏈開發,技術提問,請加QQ羣:538327407html

 

FISCO BCOS 基礎安裝教程:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.htmljava

官方文檔:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/sdk_application.htmlnode

 

環境準備:騰訊雲服務器 ubuntu 18.4git

根據官方基礎教程,按照標準版本,若是國密版本另外處理。github

 

單羣組FISCO BCOS聯盟鏈的搭建(適用於開發模式、單個服務器搭建,生產環境使用企業級分佈式部署)

本節以搭建單羣組FISCO BCOS鏈爲例操做。使用build_chain.sh腳本在本地搭建一條4節點的FISCO BCOS鏈,以Ubuntu 16.04系統爲例操做。json

註解ubuntu

  • 搭建多羣組的鏈操做相似,感興趣能夠 參考這裏 。
  • 本節使用預編譯的靜態`fisco-bcos`二進制文件,在CentOS 7和Ubuntu 16.04上通過測試。

準備環境

  • 安裝依賴

build_chain.sh腳本依賴於openssl, curl,使用下面的指令安裝。CentOS將下面命令中的apt替換爲yum執行便可。macOS執行brew install openssl curl便可。api

sudo apt install -y openssl curl
  • 建立操做目錄
cd ~ && mkdir -p fisco && cd fisco 
  • 下載build_chain.sh腳本
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/`curl -s https://api.github.com/repos/FISCO-BCOS/FISCO-BCOS/releases | grep "\"v2\." | sort -u | tail -n 1 | cut -d \" -f 4`/build_chain.sh && chmod u+x build_chain.sh 

搭建單羣組4節點聯盟鏈

在fisco目錄下執行下面的指令,生成一條單羣組4節點的FISCO鏈。須要保證機器的30300~30303,20200~20203,8545~8548端口沒有被佔用。安全

bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545

註解bash

  • 其中-p選項指定起始端口,分別是p2p_port,channel_port,jsonrpc_port,出於安全考慮jsonrpc/channel默認監聽127.0.0.1,須要外網訪問請添加-i參數。

一、進入路徑

cd /home/useradmin/fisco 能夠經過pwd 命令查詢

二、啓動區塊鏈

bash nodes/127.0.0.1/start_all.sh

三、在控制檯配置要的狀況下,啓動控制檯

cd ~/fisco/console

./start.sh

四、查看智能合約的位置

pwd 命令,獲得地址
/home/useradmin/fisco/console/solidity/contracts

五、調用合約

將合約放到合約目錄下,進入控制檯模式,這樣就能夠在控制檯調用智能合約,執行命令以下:

deploy 合約名稱

call 合約名稱 合約地址 方法 參數


六、合約編寫說明

(1) 新建表方法,只有名稱,沒有數據類型

(2)調用表方法,這裏面關聯咱們本身建立的表

(3) 複雜的業務流程驗證,交易校驗,交易操做(好比須要修改權限須要控制好,在合約裏面儘可能不要開放修改權限)


七、部署合約操做


cat > ./contracts/Asset.sol << EOF 將這些部分去掉,包括末尾的EOF

(1) 執行部署合約命令:deploy Asset.sol
返回contract address:0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8

(2) 執行查詢方法 參數要使用雙引號

call Asset 0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8 select "0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8"

調用 多參數方法,須要使用 空格 而後使用對應的參數

call Asset 0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8 register "0x0b9ce0c6c4a85816bb328815d6befd7aa56119e8" 1000

 

八、將合約進行java的轉化

將合約放到這個文件夾下面

/home/useradmin/fisco/console/tools/contracts

在/home/useradmin/fisco/console/tools 目錄下執行命令

./sol2java.sh org.fisco.bcos.asset.contract

就會在/home/useradmin/fisco/console/tools/java目錄下生成對應的包和對應的合約java代碼

相關文章
相關標籤/搜索