国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

DAPP開(kāi)發(fā)(一)——web3.0和智能合約

這篇具有很好參考價(jià)值的文章主要介紹了DAPP開(kāi)發(fā)(一)——web3.0和智能合約。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

web1.0~3.0,很多年前,互聯(lián)網(wǎng)沒(méi)有那么發(fā)達(dá),剛出來(lái)的時(shí)候,僅僅只能在網(wǎng)上瀏覽觀看信息,這就是1.0,后來(lái)出現(xiàn)了很多的軟件,人們不僅可以瀏覽還可以發(fā)表自己的看法,手機(jī)app百花齊放,每個(gè)應(yīng)用都有自己的數(shù)據(jù)庫(kù),存儲(chǔ)數(shù)據(jù),這就是2.0,現(xiàn)如今出現(xiàn)了3.0,去中心化的思想擺脫了數(shù)據(jù)庫(kù),即可實(shí)現(xiàn)不用數(shù)據(jù)庫(kù)也可以使用的DAPP。

用戶創(chuàng)造內(nèi)容后不是成為大廠的內(nèi)容和數(shù)據(jù),而是自己擁有其所有權(quán),誰(shuí)想使用,必須要經(jīng)過(guò)授權(quán)或是付費(fèi)只用,也就是說(shuō)內(nèi)容的創(chuàng)造者也是內(nèi)容的擁有者。

web3.0生態(tài)包括:

去中心化身份,用戶界面,去中心化應(yīng)用,去中心化存儲(chǔ),去中心化通信計(jì)算,零信任。低信任交互協(xié)議(區(qū)塊鏈)

區(qū)塊鏈的透明溯源,穩(wěn)定幣和中央銀行數(shù)字貨幣,創(chuàng)造者經(jīng)濟(jì),鏈游。


什么是區(qū)塊鏈?

區(qū)塊鏈?zhǔn)且环N新型去中心化協(xié)議,能安全地存儲(chǔ)比特幣交易或其它數(shù)據(jù),信息不可偽造和篡改,可以自動(dòng)執(zhí)行智能合約,無(wú)需任何中心化機(jī)構(gòu)的審核。 交易既可以是比特幣這樣的數(shù)字貨幣,也可以是債權(quán)、股權(quán)、版權(quán)等數(shù)字資產(chǎn),區(qū)塊鏈技術(shù)解決了拜占庭將軍問(wèn)題,大大降低了現(xiàn)實(shí)經(jīng)濟(jì)的信任成本與會(huì)計(jì)成本,重新定義了互聯(lián)網(wǎng)時(shí)代的產(chǎn)權(quán)制度。

區(qū)塊鏈(Blockchain)是由節(jié)點(diǎn)參與的分布式數(shù)據(jù)庫(kù)系統(tǒng), 它的特點(diǎn)是不可更改,不可偽造,也可以將其理解為賬簿系統(tǒng)(ledger)。它是比特幣的一個(gè)重要概念,完整比特幣區(qū)塊鏈的副本,記錄了其代幣(token)的每一筆交易。通過(guò)這些信息,我們可以找到每一個(gè)地址,在歷史上任何一點(diǎn)所擁有的價(jià)值。

區(qū)塊鏈?zhǔn)怯梢淮褂妹艽a學(xué)方法產(chǎn)生的數(shù)據(jù)塊組成的,每一個(gè)區(qū)塊都包含了上一個(gè)區(qū)塊的哈希值(hash),從創(chuàng)始區(qū)塊(genesis block)開(kāi)始連接到當(dāng)前區(qū)塊,形成塊鏈。每一個(gè)區(qū)塊都確保按照時(shí)間順序在上一個(gè)區(qū)塊之后產(chǎn)生,否則前一個(gè)區(qū)塊的哈希值是未知的。 這些特征使得比特幣的雙花(double-spending)非常困難。區(qū)塊鏈?zhǔn)潜忍貛诺暮诵膭?chuàng)新。

區(qū)塊鏈概念的出現(xiàn),首先是在中本聰?shù)谋忍貛虐灼?shū)[2]中提到的,但是以工作量證明鏈(proof-of-work chain)的形式而存在,以下是中本聰對(duì)區(qū)塊鏈概念的描述:

時(shí)間戳服務(wù)器通過(guò)對(duì)以區(qū)塊(block)形式存在的一組數(shù)據(jù),實(shí)施隨機(jī)散列而加上時(shí)間戳,并將該隨機(jī)散列進(jìn)行廣播,就像在新聞或世界性新聞組網(wǎng)絡(luò)(Usenet)的發(fā)帖一樣 。 顯然,該時(shí)間戳能夠證實(shí)特定數(shù)據(jù)必然于某特定時(shí)間是的確存在的,因?yàn)橹挥性谠摃r(shí)刻存在了才能獲取相應(yīng)的隨機(jī)散列值。 每個(gè)時(shí)間戳應(yīng)當(dāng)將前一個(gè)時(shí)間戳納入其隨機(jī)散列值中,每一個(gè)隨后的時(shí)間戳都對(duì)之前的一個(gè)時(shí)間戳進(jìn)行增強(qiáng)(reinforcing),這樣就形成了一條鏈(Chain)。

區(qū)塊鏈應(yīng)用:眾籌行為,公證書(shū),供應(yīng)鏈,股權(quán)證等。我們所寫(xiě)的驅(qū)動(dòng)區(qū)塊鏈的程序就是DAPP。區(qū)塊鏈就像是database,所有的操作都將被記錄在區(qū)塊鏈上,不可刪除。

以太坊

以太坊是一個(gè)開(kāi)源的有智能合約功能的公共區(qū)塊鏈平臺(tái),通過(guò)其專業(yè)加密貨幣以太幣Ether,簡(jiǎn)稱ETH,提供去中心化的一臺(tái)虛擬機(jī)來(lái)處理點(diǎn)對(duì)點(diǎn)合約。我們可以利用以太坊平臺(tái)來(lái)部署我們自己的智能合約,但是每一次的交易被記錄下來(lái)都需要算法,需要花一定的費(fèi)用支付給礦工,簡(jiǎn)單理解就是每次的交易都會(huì)生成一道算法題,然后能夠解決的礦工會(huì)收取一定的費(fèi)用或者小費(fèi),同時(shí)交易記錄會(huì)被記錄在區(qū)塊鏈上。

哈希算法

將任意長(zhǎng)度的二進(jìn)制值串映射為固定長(zhǎng)度的二進(jìn)制值串,這個(gè)映射的的規(guī)則就是哈希算法,而通過(guò)原始數(shù)據(jù)映射之后得到的二進(jìn)制值串就是哈希值。

構(gòu)成哈希算法的條件:

從哈希值不能反向推導(dǎo)出原始數(shù)據(jù)(所以哈希算法也叫單項(xiàng)哈希算法)

對(duì)輸入數(shù)據(jù)非常敏感,哪怕原始數(shù)據(jù)修改了一個(gè)Bit,最后得到的哈希值也大不相同

散列沖突的概率要很小,對(duì)于不同的原始數(shù)據(jù),哈希值相同的概率非常小

哈職算法的執(zhí)行效率要盡量高效,針對(duì)較長(zhǎng)的文本,也能快速的計(jì)算出哈希值


智能合約

solidity應(yīng)該屬于后端語(yǔ)言,是一種智能合約高級(jí)語(yǔ)言,運(yùn)行在Ethereum虛擬機(jī)(EVM)上,借鑒了很多語(yǔ)言,包括js,c++等,但是和傳統(tǒng)的后端語(yǔ)言java等web2.0的后端有很大區(qū)別,web3.0提出 去中心化,通俗來(lái)說(shuō),就是指不再有傳統(tǒng)后端那種,請(qǐng)求服務(wù)器,從數(shù)據(jù)庫(kù)存儲(chǔ)或者讀取數(shù)據(jù),而是在區(qū)塊鏈的基礎(chǔ)上記錄每一個(gè)發(fā)生的事件,不需要數(shù)據(jù)庫(kù)的存儲(chǔ)。

以太坊底層是基于賬戶,而非UTXO的,所以有一個(gè)特殊的Address的類型,用于定位用戶,定位合約,定位合約的代碼(合約本身也是一個(gè)賬戶)。

由于語(yǔ)言內(nèi)嵌框架是支持支付的,所以提供了一些關(guān)鍵字,如payable,可以在語(yǔ)言層面直接支持支付,而且超級(jí)簡(jiǎn)單。

存儲(chǔ)是使用網(wǎng)絡(luò)上的區(qū)塊鏈,數(shù)據(jù)的額每一個(gè)狀態(tài)都可以永久儲(chǔ)存,所以需要確定變量使用內(nèi)存,還是區(qū)塊鏈。

運(yùn)行環(huán)境是在去中心化的網(wǎng)絡(luò)上,會(huì)比較強(qiáng)調(diào)合約或函數(shù)執(zhí)行的調(diào)用方式。因?yàn)樵瓉?lái)一個(gè)簡(jiǎn)單的函數(shù)調(diào)用變?yōu)榱艘粋€(gè)網(wǎng)絡(luò)上的節(jié)點(diǎn)中的代碼執(zhí)行,分布式的感覺(jué)。

最后一個(gè)非常大的不同則是它的異常機(jī)制,一旦出現(xiàn)異常,所有的執(zhí)行都將會(huì)被撤回,這主要是為了保證合約執(zhí)行的原子性,以避免中間狀態(tài)出現(xiàn)的數(shù)據(jù)不一致。

paragma solidity ^0.4.0

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-448233.html

contract Helloworld{

? ? ? ? uint balance;

? ? ? ? fuunction update(uint amount) returns (address,uint){

? ? ? ? ? ? ? ? balance+=amount;

? ? ? ? ? ? ? ? return (msg.sender,balance)

????????}

}

Web3.js

智能合約寫(xiě)好以后,部署到以太坊,前端不需要發(fā)送請(qǐng)求,但是要和合約交互,那么就需要Web3.js庫(kù)

Web3.js是一個(gè)庫(kù),他有很多的函數(shù),使它可以在以太坊生態(tài)系統(tǒng)中通過(guò)HTTP或IPC與本地或者以太坊遠(yuǎn)程節(jié)點(diǎn)交互,如查看鏈上信息等。

各種高級(jí)語(yǔ)言編寫(xiě)的程序可以適應(yīng)web3 interface來(lái)與EVM交互,再次過(guò)程中使用時(shí)JSON-RPC(一個(gè)無(wú)狀態(tài)且輕量級(jí)的遠(yuǎn)程過(guò)程調(diào)用(RPC)傳送協(xié)議,其傳遞內(nèi)容透過(guò)JSON為主)

可以使用web3.js來(lái)讀取和寫(xiě)入以太坊區(qū)塊鏈,而不是使用ajax從web服務(wù)器讀取和寫(xiě)入數(shù)據(jù)。

const web3 = new Web3(
    web3.givenProvider || "http://localhost:8584"
);
//獲取當(dāng)前節(jié)點(diǎn)下的賬號(hào)信息
const accounts = await web3.eth.requestAccount()//會(huì)返回當(dāng)前的賬號(hào)
console.log("accounts",accounts)

?DApp

DApp的部分或者全部邏輯是被存儲(chǔ)在去中心化的網(wǎng)絡(luò)中,而這個(gè)去中心化的網(wǎng)絡(luò)在區(qū)塊鏈的時(shí)間叫做公有鏈。前端加智能合約,構(gòu)成DApp

MetaMask

MetaMask是一個(gè)瀏覽器插件,可作為MetaMask Chrome擴(kuò)展或Firefox附加組件使用。它的核心是它作為以太坊錢(qián)包:通過(guò)安裝它,可以訪問(wèn)一個(gè)獨(dú)特的以太坊錢(qián)包地址,使用它開(kāi)始發(fā)送和接收以太幣或ERC20通證??梢越灰撞榭醋约旱囊蕴粠?。

但MetaMask不僅僅是以太坊錢(qián)包,作為瀏覽器擴(kuò)展,他可以與你正在瀏覽的當(dāng)前網(wǎng)頁(yè)進(jìn)行交互。它通過(guò)在訪問(wèn)的每個(gè)網(wǎng)頁(yè)注入一個(gè)名為web3.js的javascript庫(kù)來(lái)實(shí)現(xiàn),注入后,web3將通過(guò)window.web3的js代碼為訪問(wèn)的每個(gè)頁(yè)面提供一個(gè)對(duì)象。

?

到了這里,關(guān)于DAPP開(kāi)發(fā)(一)——web3.0和智能合約的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 以太坊Dapp通過(guò)web3js部署調(diào)用智能合約

    以太坊Dapp通過(guò)web3js部署調(diào)用智能合約

    參考視頻:https://www.bilibili.com/video/BV14z4y1Z7Jd?p=1 https://remix.ethereum.org/ 創(chuàng)建一個(gè)新的文件夾 mkdir MyDapp2 啟動(dòng) ganache-cli 下載web3 npm install web3 ,注:ganache的啟動(dòng)和deploy.js要在同一個(gè)目錄。 先進(jìn)行測(cè)試 node deploy.js 部署合約 web3的版本:1.7.1 復(fù)制 WEB3DEPLOY 的內(nèi)容到deploy.js == ganache需要

    2023年04月23日
    瀏覽(30)
  • Web3本地搭建truffle智能合約開(kāi)發(fā)環(huán)境

    Web3本地搭建truffle智能合約開(kāi)發(fā)環(huán)境

    之前的幾篇文章 我們是成功的操作了我們本地區(qū)塊鏈的 那么 本文 我們就來(lái)說(shuō)說(shuō)智能合約 啊 不容易啊 扯了這么久 終于到這了 智能合約是部署在區(qū)塊鏈上 不可逆的 一種去中心化的程序,他沒(méi)有任何第三方公司來(lái)管理這個(gè)程序和數(shù)據(jù) 然后 還有就是怎么連接到區(qū)塊鏈上的智能

    2024年02月12日
    瀏覽(21)
  • WEB3 創(chuàng)建React前端Dapp環(huán)境并整合solidity項(xiàng)目,融合項(xiàng)目結(jié)構(gòu)便捷前端拿取合約 Abi

    WEB3 創(chuàng)建React前端Dapp環(huán)境并整合solidity項(xiàng)目,融合項(xiàng)目結(jié)構(gòu)便捷前端拿取合約 Abi

    好 各位 經(jīng)過(guò)我們上文 WEB3 solidity 帶著大家編寫(xiě)測(cè)試代碼 操作訂單 創(chuàng)建/取消/填充操作 我們自己寫(xiě)了一個(gè)測(cè)試訂單業(yè)務(wù)的腳本 沒(méi)想到運(yùn)行的還挺好的 那么 今天開(kāi)始 我們就可以開(kāi)始操作我們前端 Dapp 的一個(gè)操作了 在整個(gè)過(guò)程中 確實(shí)是沒(méi)有我們后端的操作 或者說(shuō) 我們自己就

    2024年02月07日
    瀏覽(25)
  • 區(qū)塊鏈DAPP開(kāi)發(fā) 以太坊智能合約框架有哪些

    Truffle 是一個(gè)在以太坊進(jìn)行 DApp 開(kāi)發(fā)的世界級(jí)開(kāi)發(fā)環(huán)境、測(cè)試框架。 使用 Truffle 開(kāi)發(fā)有一以下優(yōu)點(diǎn): 內(nèi)置智能合約編譯,鏈接,部署和二進(jìn)制(文件)管理。 可快速開(kāi)發(fā)自動(dòng)化智能合約測(cè)試框架。 可腳本化、可擴(kuò)展的部署和遷移框架。 可管理多個(gè)不同的以太坊網(wǎng)絡(luò),可部署

    2024年02月02日
    瀏覽(26)
  • web3: 智能合約

    2024年01月09日
    瀏覽(21)
  • 智能合約及其web3共識(shí)機(jī)制

    智能合約及其web3共識(shí)機(jī)制

    ? 目錄 什么是共識(shí)? 什么是共識(shí)機(jī)制? 共識(shí)機(jī)制的目標(biāo) 為什么需要共識(shí)機(jī)制? 如何評(píng)價(jià)一個(gè)共識(shí)機(jī)制的優(yōu)劣: 共識(shí)機(jī)制分類 PoW( Proof of Work)工作量證明:多勞多得 PoS(Proof of Stake)股權(quán)證明算法:持有越多,獲得越多 優(yōu)點(diǎn) 缺點(diǎn) 如何配置web3 智能合約測(cè)試 ? 我們所說(shuō)的共識(shí),是

    2024年01月17日
    瀏覽(27)
  • 為 Web3 項(xiàng)目撰寫(xiě)智能合約(Web3項(xiàng)目三實(shí)戰(zhàn)之二)

    時(shí)間像是在我們身邊悄然而過(guò),而我們的 Web3項(xiàng)目實(shí)戰(zhàn) 系列也來(lái)到了第三個(gè) Web3 項(xiàng)目。若正在屏幕前瀏覽本篇文章的您,或是從 Web3項(xiàng)目一 開(kāi)篇之作,一直跟隨著我的步伐來(lái)到了本文,想必您對(duì)于 Web3 與 Web2 的區(qū)別,有了最為深刻的感觸了! 當(dāng)然咯,前提是您先前或者說(shuō)是當(dāng)

    2024年01月18日
    瀏覽(23)
  • 怎么在Web3中創(chuàng)建智能合約

    怎么在Web3中創(chuàng)建智能合約

    智能合約是在區(qū)塊鏈上運(yùn)行并在 web3 生態(tài)系統(tǒng)中啟用去中心化應(yīng)用程序 (dapps) 的自動(dòng)執(zhí)行協(xié)議。Web3 是指下一代互聯(lián)網(wǎng)的術(shù)語(yǔ),用戶可以更好地控制自己的數(shù)據(jù)、身份和資產(chǎn),并且可以在沒(méi)有中介的情況下直接相互交互。 本篇文章將介紹如何使用 JavaScript 和 Solidity(最流行的

    2024年02月07日
    瀏覽(27)
  • 互聯(lián)網(wǎng)上下50年,萬(wàn)字長(zhǎng)文推演Web1.0到Web5.0

    互聯(lián)網(wǎng)上下50年,萬(wàn)字長(zhǎng)文推演Web1.0到Web5.0

    文/沈旸 (微信公眾號(hào):信息化與數(shù)字化) 如果說(shuō)2021年科技圈最火的概念是“元宇宙”,那么2022年最火的一定是Web3.0了。目前看來(lái),較早定義Web3.0概念的,是區(qū)塊鏈研究員Eshita。 Web1.0:可讀 Read Web2.0:可讀+可寫(xiě) Read+Write Web3.0:可讀+可寫(xiě)+擁有 ? ? ?Read+Write+Own 不過(guò),從直觀

    2024年01月16日
    瀏覽(21)
  • 【區(qū)塊鏈技術(shù)開(kāi)發(fā)】OpenZeppelin智能合約庫(kù):提高智能合約的安全性和可靠性,加速去中心化應(yīng)用DApp的開(kāi)發(fā)與部署。

    專欄:【區(qū)塊鏈技術(shù)開(kāi)發(fā)】 前期文章: 【區(qū)塊鏈技術(shù)開(kāi)發(fā)】使用Infura連接以太坊節(jié)點(diǎn)和OpenZeppelin庫(kù)來(lái)構(gòu)建安全、可靠的智能合約 【區(qū)塊鏈技術(shù)開(kāi)發(fā)】 Solidity使用Truffle Box工具實(shí)現(xiàn)預(yù)構(gòu)建模板、自動(dòng)化部署、創(chuàng)建智能合約示例代碼 【區(qū)塊鏈技術(shù)開(kāi)發(fā)】 Solidity使用truffle工具創(chuàng)建

    2023年04月24日
    瀏覽(92)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包