摘要:在看啟動(dòng)腳本輸出的時(shí)候,發(fā)現(xiàn)了這兩樣輸出設(shè)置和智能合約,以及安裝合約開發(fā)工具。合約開發(fā)工具是的工具鏈和一組工具,用于促進(jìn)平臺(tái)的合同編寫。系統(tǒng)智能合約,可以進(jìn)行很多系統(tǒng)級(jí)別的操作,比如用戶投票將用戶注冊(cè)成為生產(chǎn)者。
Previously
在EOS DApp開發(fā)入門(一)中,通過docker image的方式架起了本地的eos區(qū)塊鏈,使Note chain DApp與本地區(qū)塊鏈進(jìn)行交互,成功運(yùn)行起來。(boiler plate)
在看啟動(dòng)eosio腳本輸出的時(shí)候,發(fā)現(xiàn)了這兩樣輸出:設(shè)置account和智能合約,以及安裝eosio.CDT(合約開發(fā)工具)。就去查了一下。
eos的賬戶EOS 中,帳戶(account)是存儲(chǔ)在區(qū)塊鏈上的授權(quán)集合,用于標(biāo)識(shí)發(fā)送者 / 接受者。
EOS 中的授權(quán)結(jié)構(gòu)非常靈活,也非常復(fù)雜,簡(jiǎn)單來說,就是一個(gè)授權(quán),既可以由一個(gè)人擁有,也可以由一組個(gè)人擁有,具體取決于如何配置權(quán)限。
我們甚至可以說,任何人,想要在 EOS 上做一些事情,他必須先有一個(gè)賬戶,才能向區(qū)塊鏈發(fā)送或接收有效的交易。
所以要使用eos區(qū)塊鏈,得先設(shè)置賬戶。
合約開發(fā)工具EOSIO.CDT是WebAssembly(WASM)的工具鏈和一組工具,用于促進(jìn)EOSIO平臺(tái)的合同編寫。除了作為通用WebAssembly工具鏈之外,還可以使用EOSIO特定的優(yōu)化來支持構(gòu)建EOSIO智能合約。這個(gè)新工具鏈?zhǔn)菄@Clang 7構(gòu)建的,這意味著EOSIO.CDT具有最新的LLVM優(yōu)化和分析,但由于WASM目標(biāo)仍被認(rèn)為是實(shí)驗(yàn)性的,因此某些優(yōu)化不可用或不完整。
關(guān)于智能合約的細(xì)節(jié),打算對(duì)照當(dāng)前v1.4.2版的源碼來學(xué)習(xí),一方面可以確保信息是第一手的,不會(huì)出現(xiàn)參考舊版的解讀文章,導(dǎo)致以訛傳訛,更重要的是可以借此機(jī)會(huì)好好學(xué)習(xí)C++工程項(xiàng)目(源碼在此:https://github.com/EOSIO/eos)。
合約的主要組成eosio.bios: 合約用于管理鏈上的堆棧和非堆棧資源,通過確認(rèn)用戶持有的 token 控制資源分配,包括帶寬、CPU 以及內(nèi)存資源。
eosio.msig: 多用戶簽名和用戶權(quán)限管理合約。
eosio.sudo: 實(shí)現(xiàn)了創(chuàng)建EOS系統(tǒng)中root賬戶的功能,用于修改系統(tǒng)代碼與更新合約。
eosio.system: 系統(tǒng)智能合約,可以進(jìn)行很多系統(tǒng)級(jí)別的操作,比如用戶投票、將用戶注冊(cè)成為生產(chǎn)者。
eosio.token: 代幣合約,只要加載這個(gè)合約,就可以輕松的發(fā)行一個(gè)代幣。
今天先看eosio.system,按github里的說明,eosio.system這個(gè)合約可以讓用戶抵押Token(eos代幣)、設(shè)置和投票給區(qū)塊生產(chǎn)者(比如eos公鏈上的生產(chǎn)者就需要投票來獲取超級(jí)節(jié)點(diǎn)的資格,成功成為21個(gè)活躍超級(jí)節(jié)點(diǎn)后,才有資格生產(chǎn)新區(qū)塊)。
eosio.system【跟著源碼學(xué)】EOS智能合約之eosio.system - part1
part2 - eosio.system整理解讀
EOS源碼框架剖析
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24531.html
摘要:示例智能合約的目的是模擬選舉。這告訴了智能合約中處理程序的定義。接下來的任務(wù)是創(chuàng)建一個(gè)新的帳戶來保存選舉智能合約。 這是一步步的用EOSIO開發(fā)區(qū)塊鏈DApp的第二部分,這部分將主要是為EOSIO平臺(tái)開發(fā)智能合約。 示例智能合約的目的是模擬選舉。我創(chuàng)建了一個(gè)EOSIO用戶來托管智能合約。創(chuàng)建了兩個(gè)公民用戶來投票給候選人。投票記錄保存在EOSIO區(qū)塊鏈中。在此示例中,所有操作都在命令模式...
摘要:必備知識(shí)設(shè)置用于為區(qū)塊鏈簽署交易,并在不泄露密鑰的情況下向應(yīng)用程序提供個(gè)人信息。 由于我一直在深入研究EOS dApp的開發(fā),我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識(shí)。在本文中,我將解釋如何使用EOSJS和scatter。我假設(shè)你對(duì)智能合約以及如何在EOS區(qū)塊鏈上部署它們有基本的了解,因?yàn)槲覍⒃诒疚闹刑^該部分。 我們?cè)跇?gòu)建什么? ?我們正在構(gòu)建一個(gè)簡(jiǎn)單的todo...
摘要:必備知識(shí)設(shè)置用于為區(qū)塊鏈簽署交易,并在不泄露密鑰的情況下向應(yīng)用程序提供個(gè)人信息。 由于我一直在深入研究EOS dApp的開發(fā),我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識(shí)。在本文中,我將解釋如何使用EOSJS和scatter。我假設(shè)你對(duì)智能合約以及如何在EOS區(qū)塊鏈上部署它們有基本的了解,因?yàn)槲覍⒃诒疚闹刑^該部分。 我們?cè)跇?gòu)建什么? ?我們正在構(gòu)建一個(gè)簡(jiǎn)單的todo...
摘要:必備知識(shí)設(shè)置用于為區(qū)塊鏈簽署交易,并在不泄露密鑰的情況下向應(yīng)用程序提供個(gè)人信息。 由于我一直在深入研究EOS dApp的開發(fā),我看了不少好文章。在這里,我匯總了下做一些研究后得到的所有知識(shí)。在本文中,我將解釋如何使用EOSJS和scatter。我假設(shè)你對(duì)智能合約以及如何在EOS區(qū)塊鏈上部署它們有基本的了解,因?yàn)槲覍⒃诒疚闹刑^該部分。 我們?cè)跇?gòu)建什么? ?我們正在構(gòu)建一個(gè)簡(jiǎn)單的todo...
摘要:與傳統(tǒng)方式不同,在去中心化的網(wǎng)絡(luò)及區(qū)塊鏈上運(yùn)行后端代碼智能合約。這個(gè)博客涵蓋了什么在本博客中,我將展示如何設(shè)置區(qū)塊鏈并開發(fā)智能合約。 在我傾聽Bettina Warburg的演講之后,我對(duì)去中心化經(jīng)濟(jì)(dApps)的概念著迷。傳統(tǒng)的Web應(yīng)用程序是: 前端→后端→數(shù)據(jù)庫 相比之下,dApp網(wǎng)站是: 前端→智能合約→區(qū)塊鏈 例如,當(dāng)你進(jìn)入電子銀行時(shí),網(wǎng)頁將調(diào)用后端代碼來獲取你的個(gè)人數(shù)據(jù)并...
閱讀 3610·2023-04-26 02:24
閱讀 943·2023-04-25 14:47
閱讀 2516·2021-11-24 11:16
閱讀 1733·2021-11-24 09:38
閱讀 1585·2021-11-18 10:07
閱讀 2076·2021-09-22 15:49
閱讀 1603·2019-08-30 15:55
閱讀 893·2019-08-26 13:38