關於馬蹄鏈智慧合約DAPP系統開發方案流程詳情介紹

Lyr96246466發表於2023-03-09

  關於智慧合約DAPP系統開發方案流程詳情,18I智慧合約-259l開發3365系統+主要內容包括搭建私網並啟動Geth相關

概念:、第二步:資料初始化、第三步:啟動Geth節點、基本概念、基礎應用、原理機制和需要注意的事項等,並結合例項

形式分析了其使用技巧,希望透過本文能幫助到大家理解應用這部分內容。


  下面是這一個簡單的java程式:


  public class MyFirstJavaProgram{


  public static void main(String[]args){


  System.out.println("Hello World");


  }


  }


  搭建私網並啟動Geth相關概念:


  主網:以太坊真是節點執行的網路,節點遍佈全球,此網路中使用的ETH是真實的虛擬數字貨幣,部署合約時需要消耗

真金白銀。


  測試網:測試網的節點沒有主網節點那麼多,主要是為以太坊開發者提供一個測試的平臺環境,此網路上的ETH可以透過

做任務獲得。


  私網:私網是由開發者自行組建的網路,不與主網及測試網連通,獨立存在,僅用於個人測試或企業專案使用。


  第一步:配置創世塊檔案


  建立genesis.json檔案:


  {


  "config":{


  "chainId":18,


  "homesteadBlock":0,


  "eip150Block":0,


  "eip155Block":0,


  "eip158Block":0


  },


  "alloc":{


  },


  "coinbase":"0x0000000000000000000000000000000000000000",


  "difficulty":"0x2",


  "extraData":"",


  "gasLimit":"0xffffffff",


  "nonce":"0x0000000000000042",


  "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",


  "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",


  "timestamp":"0x00"


  }


  coinbase:挖礦後獲得獎勵的賬戶地址


  difficulty:挖礦難度


  gasLimit:一個區塊所能容納gas的上限,智慧合約指令在執行時需要消耗gas,,可透過以太幣自動兌換


  nonce:隨機值


  mixhash:一個256位的hash證明,與nonce相結合,驗證本塊的有效性


  extraData:附加資訊,隨意填寫


  parentHash:前一塊的hash值,創世塊的parentHash值為0


  第二步:資料初始化


  初始化指令


  geth init genesis.json--datadir./data


  init:初始化關鍵字


  datadir:指定資料儲存位置


  第三步:啟動Geth節點


  #新增環境變數(若已新增環境變數,可跳過此步)


  export PATH=$HOME/geth-home:$PATH


  echo`export PATH=$HOME/geth-home:$PATH`>>~/.bashrc


  #啟動Geth節點


  geth--datadir./data--networkid 18--port 30303--rpc--rpcport 8545--rpcapi'db,net,eth,web3,personal'--rpcaddr 192.168.19.129--rpccorsdomain'*'--gasprice 0--allow-insecure-unlock console 2>1.log


  datadir:指定之前第二步初始化的資料目錄檔案


  networkid:配置成與第一步genesis.json配置檔案config內的chainId相同值,代表加入哪個網路,私網隨意編號即可


  port:P2P埠,即:節點之間互相通訊的埠


  http:開啟遠端呼叫服務


  rpcport:遠端服務埠,預設值為8545


  rpcapi:遠端服務提供的遠端呼叫函式集


  rpcaddr:預設值為localhost,只允許本機連線;如果需要允許其他機器連線的話,這裡要指定當前機器的ip


  rpccorsdomain:指定可以接收請求來源的域名列表(瀏覽器訪問,必須開啟)


  gasprice:gas的單價


  allow-insecure-unlock:允許在Geth命令視窗解鎖賬戶


  console:進入控制檯


  2>1.log:UNIX系統下的重定向,將Geth產生的日誌輸出都重定向到1.log中,以免刷日誌影響操作


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012429/viewspace-2938787/,如需轉載,請註明出處,否則將追究法律責任。

相關文章