DApp的架構我們可以簡單分為以上三種型別:輕錢包模式、重錢包模式和兼容模式,
輕錢包模式
輕錢包模式下我們需要有一個開放Http RPC協議的節點與錢包通信,這個節點mkz888z可以是任意鏈上的節點,輕錢包通常會作為一個瀏覽器插件存在,插件在運行時會自動注入Web3框架,DApp可以通過Web3與區塊鏈節點通信,當DApp只是單純的獲取資料時是不需要錢包介入的,但是當DApp需要發送交易到鏈上時需要通過錢包完成對交易簽名的程序,
優點:不需要用戶同步區塊鏈節點就可以使用
缺點:需要一個公開的節點提供服務,可能會存在安全性問題
重錢包模式
重錢包會自己同步并持有一個區塊鏈節點,提供一個瀏覽器環境,其他與錢包相似,
優點:自己持有并同步節點,安全性高
缺點:需要持有一個全量的區塊鏈節點
兼容模式
兼容模式可以在輕錢包和重錢包下同時使用,與錢包通信的節點可以選擇在錢包外本地持有,也可以自己搭建服務持有并公布節點,
DApp開發
理解了DApp的架構設計就可以開始一步步的搭建我們的DApp了,這里我們不選擇用各種成熟的框架,從最基礎的開始,會更容易理解核心的思想,選擇一個輕量級的錢包插件MetaMask,安裝并創建自己的賬號,
MetaMask默認會提供以下節點可以使用:
Main Ethereum Network
Ropsten Test Network
Kovan Test Network
Rinkeby Test Network
Localhost 8545
當然你也可以手動添加自己的節點
撰寫并編譯智能合約
以太坊提供一個圖靈完備的開發環境,理論上可以構建任意復雜的智能合約,但是也要考慮到越復137雜6746的0149邏輯越容易出錯,并且會消耗更多的Gas,因此在設計上需要謹慎考慮,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/248075.html
標籤:其他
