關於DAPP馬蹄鏈合約模式系統開發詳情介紹

Lyr96246466發表於2023-03-02

  DAPP是Decentralized Application的縮寫I8I-系統合約259I-開發馬蹄鏈3365,即去中心化應用,也有人稱為分散式應用。它被認為開啟了區塊鏈3.0時代。DAPP就是在底層區塊鏈平臺衍生的各種分散式應用,是區塊鏈世界中的服務提供形式。DAPP之於區塊鏈,有些類似APP之於IOS和Android。


  符合以下3個條件的應用可以認為是一個DAPP(分散式應用):


  1、執行在分散式網路上;


  2、參與者資訊被安全儲存,隱私得到很好的保護;


  3、透過網路節點去中心化操作。


 > Demo=eth.contract(hello.abi).at("0xa29b84d8d302820f6ca1ebbf2f159ba12cf82b02")

{

  abi: [{

      constant: true,

      inputs: [{...}],

      name: "mutiply",

      outputs: [{...}],

      payable: false,

      stateMutability: "nonpayable",

      type: "function"

  }],

  address: "0xa29b84d8d302820f6ca1ebbf2f159ba12cf82b02",

  transactionHash: null,

  allEvents: function(),

  mutiply: function()

}

> Demo.mutiply(3)

9



  一個真正的DAPP應用,需要同時滿足一下幾個條件:


  1、應用必須完全開源、自治,且沒有一個實體控制著該應用超51%Token。該應用必須能夠根據使用者的反饋及技術要求進行升級,且應用升級必須由大部分使用者達成共識之後方可進行;


  2、應用的資料必須加密後儲存在公開的區塊鏈上;


  3、應用必須擁有Token機制(可用基於相同底層區塊鏈平臺的通用代幣或自行發行新幣),礦工或應用維護節點需要得到代幣獎勵;


  4、應用代幣的產生必須依據標準的加密演演算法,有價值的節點可以根據該演演算法獲取應用的代幣獎勵。


  DAPP使用者體驗由於區塊鏈特有的資料確權、價值傳遞功能,可以消除很多影響使用者體驗、提升開發難度的因素:


  1)使用者實名認證流程變更


  DAPP場景下,如果公鏈內支援資料共享,那麼開發者只需要完成資料匹配,就可以從-生態內的開發者處共享到使用者實名資料,同時只需要支付Token即可;同時對使用者而言,這也算是POD(Proof of Data)挖礦模式,同樣有收益,算是合作共贏;比如公信寶“布洛克城”;

> var helloContract = web3.eth.contract([{"constant":true,"inputs":[{"name":"a","type":"uint256"}],"name":"mutiply","outputs":[{"name":"result","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]);

undefined

> var hello = helloContract.new(

   {

     from: web3.eth.accounts[1], 

     data: '0x608060405234801561001057600080fd5b5060bb8061001f6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f70d290d146044575b600080fd5b348015604f57600080fd5b50606c600480360381019080803590602001909291905050506082565b6040518082815260200191505060405180910390f35b60006003820290509190505600a165627a7a7230582002abd0500936c002b085e7f017e1aca58ca5294e5e4b27f0733e430604076c3f0029', 

     gas: '4700000'

   }, function (e, contract){

    console.log(e, contract);

    if (typeof contract.address !== 'undefined') {

         console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);

    }

 })


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

相關文章