摘要:許多人正試圖學(xué)習(xí)如何在上開發(fā)智能合約。但是,這些智能合約是由編寫的,并編譯成,這對大多數(shù)非程序員來說似乎很奇怪。在這里,你可以將其視為可以在瀏覽器中加載和運行的文件。將代碼編譯成的格式編譯代碼有很多種方法。
許多人正試圖學(xué)習(xí)如何在EOS上開發(fā)智能合約。但是,這些智能合約是由C++編寫的,并編譯成WebAssembly,這對大多數(shù)非c++程序員來說似乎很奇怪。因此,在深入了解EOS之前,最好先學(xué)習(xí)一些關(guān)于WebAssembly的基本知識。
什么是WebAssembly我不想從官方網(wǎng)站上復(fù)制這個定義。你可以自己看一下。在這里,你可以將其視為可以在Web瀏覽器中加載和運行的文件。它類似于Javascript,但它比JS更快,更簡單,更安全。
如何編寫Webassembly這里是一個工作流程:
基本上有四個步驟,我將通過一個非常簡單的例子來說明。
1.編寫C/C++代碼以下代碼用于計算數(shù)字的平方根。
#include2.將C/C++代碼編譯成wasm(Webassembly的格式)float getSqrt (float num) { return sqrt(num); }
編譯代碼有很多種方法。為了簡化這個過程,我找到了一種非常簡單的方法。
將代碼復(fù)制到該網(wǎng)站并單擊build(構(gòu)建)按鈕,你可以找到編譯的文件,如下所示。
然后將program.wasm文件下載到本地文件夾。
3.使用JavaScript將wasm加載到瀏覽器中使用以下代碼創(chuàng)建test.html,將其放在與program.wasm相同的文件目錄中。
4.在Web瀏覽器中運行該方法WASM Test
要解決網(wǎng)站跨域問題,我們需要在該文件夾中運行本地Web服務(wù)器。使用Linux或Mac時,讓我們執(zhí)行一下這個命令:
python -m SimpleHTTPServer
然后打開我們的Chrome瀏覽器,轉(zhuǎn)到此頁面:http://localhost:8000/test.html。在控制臺中,嘗試以下方法:
完成通過本教程,你就可以熟悉WebAssemply,但是對于高級研究,請查看@dan撰寫的eos-example-exchange-contract-and-benefits-of-c
分享一個交互式的在線編程實戰(zhàn),EOS智能合約與DApp開發(fā)入門:
EOS教程
本課程幫助你快速入門EOS區(qū)塊鏈去中心化應(yīng)用的開發(fā),內(nèi)容涵蓋EOS工具鏈、賬戶與錢包、發(fā)行代幣、智能合約開發(fā)與部署、使用代碼與智能合約交互等核心知識點,最后綜合運用各知識點完成一個便簽DApp的開發(fā)。
這里是原文
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24291.html
摘要:對于很多沒有中間語言的字節(jié)碼的編程語言來說,根本不存在解釋執(zhí)行與編譯執(zhí)行的選項,比如傳統(tǒng)只能編譯執(zhí)行,直接將代碼編譯成為可執(zhí)行的二進(jìn)制機(jī)器碼,我們電腦上文件就是編譯的成果。 Daniel Larimer 在最近的博客中透露,EOS 新增了官方的 WebAssembly 解釋器,用來解釋執(zhí)行 WebAssembly 智能合約,加上之前的編譯執(zhí)行,EOS 智能合約有了兩種執(zhí)行方式。 對于很...
摘要:所以最簡單的智能合約只需實現(xiàn)文件。我們看到文件中已經(jīng)聲明了這個,并說明了這個的李嘉圖合約,大概意思是本合約的輸入為一串字符,本合約意圖是打印輸出,沒有其他效果。 Hello World! 稍微了解 EOS 系統(tǒng),你就會知道 EOS 的智能合約基于 WebAssembly(WASM) 技術(shù),這種技術(shù)在性能和跨平臺兼容性之間取得了很好的平衡,通過將原始代碼編譯成字節(jié)碼,使得代碼可以在多種平...
摘要:允許智能合約定義自己的私有數(shù)據(jù)庫表。有了多級索引,智能合約就具備了操作類似數(shù)據(jù)庫模塊的功能。因此雖然只有一列,但是的靈活性絲毫不亞于傳統(tǒng)的數(shù)據(jù)表。 上一章我們學(xué)習(xí)了開發(fā)智能合約之前需要知道的必要概念: 什么是webAssembly以及它在智能合約上下游中的位置; 什么是ABI以及怎樣使用eosiocpp工具產(chǎn)生ABI和wasm、wast hello智能合約的簡單入門:部署和調(diào)用 ...
摘要:在看啟動腳本輸出的時候,發(fā)現(xiàn)了這兩樣輸出設(shè)置和智能合約,以及安裝合約開發(fā)工具。合約開發(fā)工具是的工具鏈和一組工具,用于促進(jìn)平臺的合同編寫。系統(tǒng)智能合約,可以進(jìn)行很多系統(tǒng)級別的操作,比如用戶投票將用戶注冊成為生產(chǎn)者。 Previously 在EOS DApp開發(fā)入門(一)中,通過docker image的方式架起了本地的eos區(qū)塊鏈,使Note chain DApp與本地區(qū)塊鏈進(jìn)行交互,成...
閱讀 2886·2021-10-08 10:12
閱讀 3984·2021-09-22 15:45
閱讀 2573·2019-08-30 15:52
閱讀 2641·2019-08-29 18:44
閱讀 2660·2019-08-29 12:37
閱讀 1175·2019-08-26 13:36
閱讀 2574·2019-08-26 13:34
閱讀 1491·2019-08-26 12:20