L2FINANCE 質押挖礦系統開發詳情丨DAPP技術框架

Lyr96246466發表於2023-05-08

“Web3.0”是對“Web2.0”的改進,開發+181公鏈2591合約開發3365微電-+在此環境下,使用者不必在不同中心化的平臺創

建多種身份,而是能打造一個去中心化的通用數字身份體系,通行各個平臺。Web3.0被用來描述網際網路潛在的下一階段,一個執行在“區塊鏈”技術之上的“去中心化”的網際網路。


Web3復刻了第一版網際網路(即Web 1.0)的去中心化基礎架構,Web 1.0的特色是使用者自己架設部落格網站以及RSS feed。在此基礎上,Web3還結合了Web 2.0豐富的互動體驗,比如社交媒體平臺。

鏈上生態系統分為三個主要層:


pragma solidity 0.4.24;


contract hello {


    function mutiply(uint a) returns (uint result) {


        return a*3;


    }

}


Solidity是一種合約導向式語言,可被應用於各種不同的區塊鏈平臺上,其主要開發者為Gavin Wood,Christian Reitwiessner,Alex Beregszaszi,Liana Husikyan,Yoichi Hirai和其他幾位早期以太坊核心貢獻者。Solidity 可使程式開發人員能在區塊鏈上(例如以太坊)編寫智慧合約。


Solidity的語法概念最早是由Gavin Wood在2014年提出,後期則以Christian Reitwiessner所領導的以太坊團隊Solidity接手開發。該語言是針對以太坊虛擬機器(EVM)所設計的四種語言之一(其他的還有Serpent,LLL,Viper(實驗中)和Mutan(已棄用))。


func submitTransaction(ctx context.Context, b Backend, tx *types.Transaction) (common.Hash, error) {

 

    if err := b.SendTx(ctx, tx); err != nil { //提交交易

 

        return common.Hash{}, err

 

    }

 

    if tx.To() == nil { //交易成功後,交易的目標地址是空的話,說明是智慧合約部署

 

        signer := types.MakeSigner(b.ChainConfig(), b.CurrentBlock().Number())

 

        from, err := types.Sender(signer, tx) //獲取交易的傳送地址

 

        if err != nil {

 

            return common.Hash{}, err

 

        }

 

        addr := crypto.CreateAddress(from, tx.Nonce()) //利用傳送地址和nonce生成新的地址

 

        log.Info("Submitted contract creation", "fullhash", tx.Hash().Hex(), "contract", addr.Hex())

 

    } else {

 

        log.Info("Submitted transaction", "fullhash", tx.Hash().Hex(), "recipient", tx.To())

 

    }

 

    return tx.Hash(), nil


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

相關文章