環境准備:騰訊雲服務器 ubuntu 18.4
單群組FISCO BCOS聯盟鏈的搭建(適用於開發模式、單個服務器搭建,生產環境使用企業級分布式部署)
本節以搭建單群組FISCO BCOS鏈為例操作。使用build_chain.sh腳本在本地搭建一條4節點的FISCO BCOS鏈,以Ubuntu 16.04系統為例操作。
准備環境
安裝依賴
build_chain.sh腳本依賴於openssl, curl,使用下面的指令安裝。CentOS將下面命令中的apt替換為yum執行即可。macOS執行brew install openssl curl即可。
sudo apt install -y openssl curl
創建操作目錄
cd ~ && mkdir -p fisco && cd fisco
下載build_chain.sh腳本
url -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 bui
搭建單群組4節點聯盟鏈
在fisco目錄下執行下面的指令,生成一條單群組4節點的FISCO鏈。需要保證機器的3030030303,2020020203,8545~8548端口沒有被占用。
bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545
注
其中-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
- 查看智能合約的位置
查看智能合約的位置
- 調用合約
將合約放到合約目錄下,進入控制台模式,這樣就可以在控制台調用智能合約,執行命令如下:
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代碼