把應用部署到 POA 網路上,需要要消耗一點POA幣,我們得先想方法獲得一些POA,這裡我們我使用POA測試網路POA Sokol提供的水管 https://faucet-sokol.herokuapp.com 獲取(如果要使用POA主網則需要去交易所購買POA),進入頁面之後,可以看到如下介面:
注意一下:Sokol水管為了防止被程式擼羊毛,加入了Google人機身份驗證,所以這個頁面需要大家翻牆訪問,輸入自己的以太坊賬號,點選“REQUEST 0.5 SPOA”,就可以獲取到POA Sokol測試的代幣 0.5 SPOA。
### Metamask 連線到POA網路
接下來在 Metamask 檢視下賬號的 SPOA 餘額,看看是否到賬,由於Metamask預設網路裡面沒有POA網路,所有我們透過“CUSTOM RPC”新增一個網路,在“New RPC URL”裡輸入https://sokol.poa.network ,如下圖:
查了使用Metamask錢包外掛之外,還可以使用POA基於MetaMask定製的Nifty 錢包[8],Nifty預設就支援POA的各個網路,Nifty 錢包如下圖:
備註:檢視下賬號也可以在sokol的blockscout瀏覽器 [9]檢視,Metamask 連線POA網路也是為後面使用DApp做準備。
使用 Truffle 部署合約到POA網路
Truffle 的基本使用,以及開發這個記事本DApp,本文就不再重複介紹,參考前面的文章:Truffle教程[10], 用 Truffle 開發一個鏈上記事本[11],這裡主要介紹如果Truffle如何了連線到POA網路。
先把DApp程式碼克隆到本地,大家可訂閱跨鏈技術小專欄[12]獲取原始碼。
truffle配置加入POA網路
然後開啟truffle-config.js 檔案,加入一個sokol網路, 方法如下:
module.exports = {
networks: {
...
sokol: {
provider: function() {
return new HDWalletProvider(mnemonic, "https://sokol.poa.network")
},
network_id: 77,
gasPrice: 1000000000
},
...
上面 mnemonic 處大家用自己的助記詞代替。
部署合約
然後使用命令truffle migrate --network sokol 進行部署:
> truffle migrate --network sokol
...
2_deploy_contract.js
====================
Deploying 'NoteContract'
------------------------
> transaction hash: 0x48dbba680f3f227b0e6aba42ecf467bf4xlb1324e0d765dcd
> Blocks: 2 Seconds: 9
> contract address: 0xb89ccfF5c3D4A15F69xLB9D0a9C3ce4a87047a6a
> block number: 9867109
> block timestamp: 1563892140
> account: 0x1a197940bd151xlb53aF8eD04996A880a251D454
> balance: 0.999159377
> gas used: 537207
> gas price: 1 gwei
> value sent: 0 ETH
> total cost: 0.000537207 ETH
> Saving migration to chain.
> Saving artifacts
-------------------------------------
> Total cost: 0.000537207 ETH
Summary
=======
> Total deployments: 2
> Final cost: 0.0007986 ETH
#### 啟動DAPP應用
npm run dev 啟動DAPP服務, 在瀏覽起輸入地址:http://localhost:3000 執行DApp,因為剛剛MetaMask已經連線好了POA 的測試網路Sokoa, 現在可以直接和DApp進行交付。
在穩定幣鏈xDai網路上部署應用
在xDai網路上部署和前面的POA測試網路步驟完全一起,只需要把上面 RPC URL更改為 https://dai.poa.network 下面是一個各個網路對應RPC URL 及網路ID的表格:
下一遍我們繼續介紹在以太坊網路和POA網路之間如何使用橋接技術轉移代幣。最後安利一下我的跨鏈技術小專欄[13],現在訂閱只要19元,訂閱要趁早。
參考文章
1.What is POA and How is it Unique?[14]
2.POA - Part 1 - Develop and deploy a smart contract[15]
3.POA - Getting Started[16]
4.POA-Network-Whitepaper[17]
5.POA bridge[18]
6.xDai Chain[19]