日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

给Web开发人员的以太坊入坑指南

發布時間:2023/12/6 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 给Web开发人员的以太坊入坑指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以太坊現在各種學習資料數不勝數,但由于以太坊正處于飛速發展階段,有些學習資料很快就過時了。所以想找到有價值的資料無異于大海撈針。我費了很大功夫,才建立起對以太坊的整體認識,搞清楚它的工作機制。我相信很多躍躍欲試的開發人員正面臨著跟我一樣的問題,所以我把自己的認識整理出來,希望能對大家有所幫助。

對于web開發人員來說,webapp的客戶端服務器架構很清晰。

我們一般會把web程序部署在AWS、Heroku或某個云平臺提供的云主機上,所有客戶端都跟這個中心程序交互。這些客戶端可能是瀏覽器,也可能是使用API的其它程序,不管怎樣,總是客戶端發起請求給服務器,服務器再跟數據庫或緩存交互,讀/寫/更新數據庫中的數據,然后給客戶端發送一個響應。

大部分情況下,這個架構很好用。但有時候,如果數據庫是公開的,所有人都可以安全地訪問,不用把數據全權交給webapp的控制者,對你來說真的非常重要。

比如說你是eBay上的明星賣家,已經賺了上千個好評了。但不知為什么eBay忽然把你的賬號給封了,這可能會讓你損失慘重,甚至給你的生意帶來毀滅性的打擊。如果能把顧客對你的評論和打分都挪到另外一個平臺上,比如到eBay的競爭對手那里,你是不是馬上就會有種絕處逢生的感覺?

雖然eBay還充當著買賣雙方的擔保人,但每一筆生意他都是要抽取傭金的。如果不需要擔保人,買賣雙方不僅能降低交易成本,并且還能訪問到自己的所有數據,你是不是會覺得特別理想?去中心化應用就是要幫你實現這個理想,而以太坊會讓DApp(去中心化應用)的搭建變得非常輕松。

以太坊DApp的架構如下所示:

如果仔細觀察,你會發現所有客戶端(瀏覽器)都是跟自己的程序實例通訊的,不再連到一個中心服務器上。這就是說每個想要跟Dapp交互的人都要在自己的電腦/手機上跑一份完整的區塊鏈,也就是說想用這個程序,你必須先把整條區塊鏈全都下載到本地。乍一看你可能會覺得這很搞笑,但這樣確實能解決對中心服務器的依賴問題。

實際上也并不需要真的把整條區塊鏈都下載下來,有幾種兩全其美的辦法,既能得到去中心化的好處,又可以快捷地完成交互。

那么區塊鏈究竟是什么呢?

  • 數據庫:以太坊網絡中每出現幾筆交易,就會打包成一個區塊,并且每個新的區塊都會連到區塊鏈的最后一個區塊上。所有的交易數據都放在這些連在一起的區塊里,這就是區塊鏈。如果eBay用區塊鏈做數據庫,那么買賣雙方之間發生的所有交易,不管是銷售、退款,還是糾紛,都被記錄在區塊鏈上,并且所有人都能看到。為了確保網絡中所有節點都有相同的數據副本,同時也為了確保寫到這個數據庫中的數據都是有效的,以太坊用了一種被稱為工作證明的算法。

  • 代碼:剛才只是介紹了區塊鏈作為數據庫存儲數據的一面。但購買、銷售、取消訂單、退款等諸如此類的業務邏輯要放在哪里呢?在以太坊上,我們用一種被稱為Solidity的語言編寫程序代碼(被稱為合約)。然后再用Solidity編譯器將這些合約編譯成以太坊字節碼,部署到區塊鏈上。雖然目前能夠編寫合約的不止Solidity一種語言,但其他語言相對來說要小眾得多。
    所以我們基本上可以說,區塊鏈存儲你的數據,存儲你的代碼,還在EVM(以太坊虛擬機)上運行這些代碼。

為了搭建在web上運行的dapp,以太坊推出了一個Javascript庫,web3.js,它可以連接區塊鏈節點。所以我們只要把這個庫加到自己熟悉的框架中就可以了,比如reactjs、angularjs或vuejs。

這個平臺的另一個重要特性是它的金融功能。如果我告訴你,只要用上dapp,就會給你一個銀行賬戶,你會不會覺得很吃驚?實際上不是一個銀行賬戶,而是隨便你創建多少個賬戶都行。這些賬戶被稱為錢包,用來存放你的以太幣(以太坊體系內所用的貨幣)和交易。

本文沒有介紹區塊鏈的內部工作機制,因為我想一篇文章能完成一件事情就夠了,這里的重點是讓你了解基于區塊鏈的dapp跟中心化的webapp有什么不同。希望你現在對以太坊是什么,以及怎么用它搭建去中心化應用程序有了一個清晰的總體認識。

原文鏈接:https://medium.com/@mvmurthy/ethereum-for-web-developers-890be23d1d0c

活動推薦


12 月 7 日北京 ArchSummit 全球架構師峰會上,來自阿里、京東、360 的講師齊聚一堂,共同分享“分布式 BaaS”、“區塊鏈安全”和“智能合約”等區塊鏈技術相關經驗與實踐。詳情點擊 https://bj2018.archsummit.com/schedule

總結

以上是生活随笔為你收集整理的给Web开发人员的以太坊入坑指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。