DAPP合約代幣燃燒挖礦系統開發丨智慧合約DAPP技術框架

Lyr96246466發表於2023-05-18

區塊鏈dapp開發是一種新興的技術開發+181公鏈2591合約開發3365微電-+它為開發者提供了一種新的方法來實現去中心化的

應用程式。Dapp(DecentralizedApplications)是基於區塊鏈技術來構建的分散式應用程式,它們不執行在單箇中心伺服器上,

而是在多個節點上執行,並透過共識機制保證資料安全性。

要開發一個dApp,首先要選擇合適的區塊鏈平臺。由於許多不同的區塊鏈平臺都可以用來開發dApp,因此要根據自己的需要

來選擇合適的平臺。例如:Ethereum、EOS、Tron等。然後根據客戶端所使用的語言以及所使用的包裝工具來決定需要使用何

種語言來開發dApp。一般情況下,Node.js和Solidity都是常見的開發語言。function verify(

        address _signer,

        uint256 amount,

        address to,

        uint256 _nonce,

        bytes memory signature

    ) internal pure returns (bool) {

        bytes32 messageHash = getMessageHash(amount, to, _nonce);

        bytes32 ethSignedMessageHash = getEthSignedMessageHash(messageHash);


        return recoverSigner(ethSignedMessageHash, signature) == _signer;

    }


    function queryVerify(bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s) public pure returns (address) {

        bytes32 ethSignedMessageHash = getEthSignedMessageHash(_hashedMessage);

        address signer = ecrecover(ethSignedMessageHash, _v, _r, _s);

        return signer;

    }

 DApp 技術棧

與傳統的 App(包括 Web App 與 Mobile App)最大的不同點在於,DApp 的大量功能依賴直接與智慧合約(以下簡稱合約)進行互動。我們無法直接使用前端程式碼呼叫合約,因此,在開發 DApp 之前,我們必須理解這一技術棧中存在哪些技術細節以及它們分別扮演何種角色。


智慧合約:通常指代執行在 EVM 相容網路中的 Solidity 或其他合約語言程式碼,他們負責與使用者交易我們發行的資產並儲存 DApp 的鏈上狀態。

DApp:整合合約介面以及其他功能的應用程式介面,目前,它們大部分是 Web App,你可以用流行的框架例如 React/Vue 來進行編寫。

Provider/Signer: 這是一個 DApp 架構中特殊的角色,它負責與區塊鏈進行通訊,並進行合約的讀/寫操作。Metamask 是一個流行的 InjectProvider(Web3Provider)你也可以使用其他 JSON-RPC Provider 與區塊鏈進行通訊。

Relay: 這個角色隱藏在 Provider/Signer 之後,是真正負責我們與區塊鏈的某一個節點同步狀態的伺服器叢集,它儲存了所有賬本(全節點)它通常是 Infura、Alchemy、Quicknode、Moralis 或者 Pocket 提供的服務。

服務端(可選):大部分 DApp 仍然有他們的服務端邏輯,這意味著,你需要自己搭建服務環境,或使用流行的 BasS/FaaS 服務,你可以使用深度整合區塊鏈的 Moralis 來完成服務端的開發,也可以使用成熟的 Firebase 體系。當然,你也可以挑戰完全不依賴服務端的方式來構建 DApp,就像 Uniswap 所做的那樣。

現在,我們知道編寫一個 DApp 大概需要哪些領域的知識,如果你已經決定邁向下一代網際網路並打算闖蕩一番,我會在接下來的內容中仔細介紹這些角色分別需要理解哪些程式語言,框架和庫。


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

相關文章