中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

跨鏈bitxhub部署教程(上)-創(chuàng)新互聯(lián)

跨鏈bitxhub部署教程(上)

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比六枝網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式六枝網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋六枝地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴??珂渂itxhub部署教程(上)

最近在因?yàn)槔蠋煹脑蛞褂肂itxhub跨鏈工具,bitxhub官方的教程不是那么清楚,也是摸索了很久才弄成功,遂記錄之。

操作系統(tǒng)

ubuntu 20.04

安裝Go語(yǔ)言并添加環(huán)境變量
wget -c https://dl.google.com/go/go1.15.6.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
vi ~/.bashrc
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
source ~/.bashrc
安裝docker

安裝docker有很多教程,隨便搜搜應(yīng)該能解決,我參照的是https://www.jianshu.com/p/482d1eb4d9a2

安裝docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
安裝gcc
sudo apt-get install build-essential
安裝bitxhub

這里選擇了 1.6.2的bitxhub

git clone https://github.com/meshplus/bitxhub.git
cd bitxhub 
git checkout v1.6.2 make prepare
make build
make install
make cluster

在這里插入圖片描述
執(zhí)行完就開啟了bitxhub 如上面,這時(shí)候可以按Ctrl+b,在按D把bitxhub切到后臺(tái)去。也可以重新開啟一個(gè)終端。

安裝goduck
git clone https://github.com/meshplus/goduck.git
cd goduck && make install 
goduck init

執(zhí)行完之后,在~目錄下會(huì)生成一個(gè).goduck文件夾

啟動(dòng)以太坊私鏈

進(jìn)入.goduck文件,然后執(zhí)行

bash ethereum.sh docker 1.2.0

執(zhí)行完之后啟動(dòng)了一個(gè),已經(jīng)部署好跨鏈的以太坊私鏈

啟動(dòng)Fabric 私鏈

1.在啟動(dòng)fabric 之前先去 /etc/resolv.conf 將里面options timeout:2 attempts:3 rotate single-request-reopen注釋掉。
2.如果發(fā)現(xiàn)沒(méi)有/etc/resolv.conf 里面沒(méi)有 options timeout:2 attempts:3 rotate single-request-reopen 那么sudo把options edns0 trust-ad 刪掉之后,執(zhí)行如下命令

sudo apt install resolvconf
sudo service resolvconf restart

接下來(lái)啟動(dòng)Fabric

bash fabric.sh up

在這里插入圖片描述
出現(xiàn)END說(shuō)明Fabric已經(jīng)搭建成功了。
如果中途出現(xiàn)錯(cuò)誤,則先bash fabric.sh down清理之后,再bash fabric.sh up
接下來(lái)部署fabric的合約,自帶的goduck里面自帶的contract有問(wèn)題,這里使用新的contract合約。新的合約地址:

鏈接: https://pan.baidu.com/s/1h8E2-wAOrrveuVBr6B6TwQ
提取碼: qbq3
把下載下來(lái)的合約解壓,然后替換.goduck中的contract文件夾
執(zhí)行如下命令:

goduck fabric contract chaincode

可能會(huì)遇到如下問(wèn)題
在這里插入圖片描述
這一步的原因是因?yàn)間omod沒(méi)有設(shè)置成自動(dòng),執(zhí)行這個(gè)

export GO111MODULE=on

之后,重新執(zhí)行上訴命令
在這里插入圖片描述
出現(xiàn)這個(gè)說(shuō)明成功啟動(dòng)Fabric了

編譯網(wǎng)關(guān)
git clone https://github.com/meshplus/pier.git 
cd pier && git checkout v1.6.2 && make install
編譯以太坊插件
git clone https://github.com/meshplus/pier-client-ethereum.git 
cd pier-client-ethereum && git checkout v1.6.2 && make eth
編譯 Fabric插件
git clone https://github.com/meshplus/pier-client-fabric.git 
cd pier-client-fabric && git checkout v1.6.2 && make fabric1.4
Fabric 文件目錄相關(guān)配置
pier --repo ~/.fabric init
cd .fabric
vim ~/.fabric/pier.toml

在標(biāo)記處修改為如圖所示
在這里插入圖片描述

ETH 文件目錄相關(guān)配置
pier init 
cd .pier
vim ~/.pier/pier.toml

在這里插入圖片描述
修改成上圖,同時(shí)修改一下端口,與Fabric不沖突
在這里插入圖片描述

初始化以太坊配置目錄
cp -r ~/pier-client-ethereum/config ~/.pier/ether
mkdir -p ~/.pier/plugins
cp ~/pier-client-ethereum/build/eth-client ~/.pier/plugins/

修改以太坊相關(guān)配置

cd .pier/ether
vi ethereum.toml

修改成這樣,Addr改為addr = “ws://localhost:8546”
最后一行的地址改為0x668a209Dc6562707469374B8235e37b8eC25db08

在這里插入圖片描述

初始化Fabric配置目錄
cp -r ~/pier-client-fabric/config .fabric/fabric
mkdir -p ~/.fabric/plugins
cp ~/pier-client-fabric/build/fabric-client-1.4 ~/.fabric/plugins/
cd  ~/.fabric/fabric
vi fabric.toml

修改成這樣
在這里插入圖片描述
接下來(lái)配置fabric的相關(guān)路徑

cd ~/.fabric/fabric
rm -rf crypto-config
cp -r ~/.goduck/fabric/crypto-config ~/.fabric/fabric/
cp -r ~/.goduck/fabric/config.yaml ~/.fabric/fabric/
CONFIG_PATH=/home/ubuntu/.goduck
FABRIC_PATH=/home/ubuntu/.fabric/fabric

以上路徑換成自己的即可
接下來(lái)要把config.yaml中的相關(guān)路徑替換成自己的路徑

sed -i "s|\${CONFIG_PATH}|${FABRIC_PATH}|g" ~/.fabric/fabric/config.yaml
// sed -i "s|/home/ubuntu/.goduck/fabric|/home/ubuntu/.fabric/fabric|g" ~/.fabric/fabric/config.yaml
sed -i "s|host.docker.internal|localhost|g" ~/.fabric/fabric/config.yaml
cp ~/.fabric/fabric/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/signcerts/peer1.org2.example.com-cert.pem ~/.fabric/fabric/fabric.validators
應(yīng)用鏈注冊(cè)

cd ~

pier --repo .pier appchain register --name=ethereum --type=ether --consensusType POS --validators=.pier/ether/ether.validators --desc="ethereum appchain for test" --version=1.0.0

會(huì)輸出一個(gè)鏈的id 0x9824A59039774a33BadB2a29EdDE4f80cDe9FBFa

pier --repo .fabric appchain register --name=fabric --type=fabric --consensusType POS --validators=.fabric/fabric/fabric.validators --desc="fabric appchain for test" --version=1.0.0

輸出id 0xF8dcf3A9B0d8f6bd6867f370Aa0D26f477AE82c8

投票(eth)
bitxhub --repo ~/bitxhub/scripts/build/node1 client governance vote --id   0x9824A59039774a33BadB2a29EdDE4f80cDe9FBFa-0 --info approve --reason approve
bitxhub --repo ~/bitxhub/scripts/build/node2 client governance vote --id   0x9824A59039774a33BadB2a29EdDE4f80cDe9FBFa-0 --info approve --reason approve
bitxhub --repo ~/bitxhub/scripts/build/node3 client governance vote --id   0x9824A59039774a33BadB2a29EdDE4f80cDe9FBFa-0 --info approve --reason approve
bitxhub --repo ~/bitxhub/scripts/build/node4 client governance vote --id   0x9824A59039774a33BadB2a29EdDE4f80cDe9FBFa-0 --info approve --reason approve

這里的id是上面的以太坊產(chǎn)生的

投票(fabric)
bitxhub --repo ~/bitxhub/scripts/build/node1 client governance vote --id 0xF8dcf3A9B0d8f6bd6867f370Aa0D26f477AE82c8-0 --info approve --reason approve
bitxhub --repo ~/bitxhub/scripts/build/node2 client governance vote --id 0xF8dcf3A9B0d8f6bd6867f370Aa0D26f477AE82c8-0 --info approve --reason approve
bitxhub --repo ~/bitxhub/scripts/build/node3 client governance vote --id 0xF8dcf3A9B0d8f6bd6867f370Aa0D26f477AE82c8-0 --info approve --reason approve
bitxhub --repo ~/bitxhub/scripts/build/node4 client governance vote --id 0xF8dcf3A9B0d8f6bd6867f370Aa0D26f477AE82c8-0 --info approve --reason approve

查看一下狀態(tài)

bitxhub --repo ~/bitxhub/scripts/build/node1 client governance proposals --type AppchainMgr
部署驗(yàn)證規(guī)則
pier --repo ~/.pier rule deploy --path ~/.pier/ether/validating.wasm
pier --repo ~/.fabric rule deploy --path ~/.fabric/fabric/validating.wasm
啟動(dòng)跨鏈網(wǎng)關(guān)
pier --repo=.pier start
pier --repo=.fabric start

在這里插入圖片描述
沒(méi)有報(bào)錯(cuò)基本上網(wǎng)關(guān)就可以了。

跨鏈相關(guān)的命令 查詢Fabric 鏈上的余額
goduck fabric contract invoke transfer getBalance Alice

在這里插入圖片描述

查詢以太坊上的余額
goduck ether contract invoke --key-path /home/ubuntu/.pier/ether/account.key --abi-path /home/ubuntu/.goduck/docker/quick_start/transfer1.abi 0x668a209Dc6562707469374B8235e37b8eC25db08  getBalance Alice

在這里插入圖片描述

以太坊向Fabric 轉(zhuǎn)賬1
goduck ether contract invoke --key-path /home/ubuntu/.pier/ether/account.key --abi-path /home/ubuntu/.goduck/docker/quick_start/transfer1.abi 0x668a209Dc6562707469374B8235e37b8eC25db08 transfer 0xF8dcf3A9B0d8f6bd6867f370Aa0D26f477AE82c8,"mychannel&transfer",Alice,Alice,1

第一個(gè)字符串是transfer合約的地址
第二個(gè)是fabric鏈的地址

轉(zhuǎn)賬之后查詢fabric 和 eth
在這里插入圖片描述
在這里插入圖片描述
發(fā)現(xiàn)fabric 多了1塊,eth少了一塊。

fabric 向以太坊轉(zhuǎn)賬10塊

goduck fabric contract invoke transfer transfer 0x9824A59039774a33BadB2a29EdDE4f80cDe9FBFa,0x668a209Dc6562707469374B8235e37b8eC25db08,Alice,Alice,10
第一個(gè)字符串是以太坊的地址,第二個(gè)是以太坊合約的地址
轉(zhuǎn)完之后,發(fā)現(xiàn)雙方都少了10塊
在這里插入圖片描述

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

新聞名稱:跨鏈bitxhub部署教程(上)-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://www.rwnh.cn/article36/pcjpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、軟件開發(fā)、響應(yīng)式網(wǎng)站、小程序開發(fā)、企業(yè)建站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
富宁县| 和硕县| 南陵县| 阜新市| 松阳县| 英山县| 应用必备| 黄梅县| 神木县| 郯城县| 宿州市| 樟树市| 龙胜| 芜湖县| 筠连县| 焦作市| 纳雍县| 海南省| 平和县| 石狮市| 茶陵县| 高雄市| 仲巴县| 香格里拉县| 广南县| 鹿邑县| 岳阳县| 刚察县| 康定县| 虹口区| 额尔古纳市| 平顶山市| 赤水市| 肥西县| 闵行区| 武清区| 青河县| 日土县| 澄迈县| 望江县| 美姑县|