eos操作系统_如何基于EOS区块链发一个自己的币,挣它一个亿?
回顧區(qū)塊鏈的發(fā)展歷史
區(qū)塊鏈1.0
以比特幣為代表,僅支持代幣的交易功能,區(qū)塊鏈技術(shù)由此誕生。
區(qū)塊鏈2.0
以以太坊(ETH)為代表, 在代幣交易基礎(chǔ)上提出虛擬機(jī)的概念, 出現(xiàn)了智能合約,DAPP(分布式應(yīng)用)。以太坊區(qū)塊鏈相當(dāng)于一個操作系統(tǒng),可以各種智能合約(可以理解為代碼或程序)可以在這個操作系統(tǒng)里運(yùn)行。
關(guān)于智能合約:說得簡單一些,智能合約就是將代碼存放在區(qū)塊鏈里,代碼被區(qū)塊鏈保護(hù),沒有人可以篡改,所有的人都可以看到代碼,合約代碼由區(qū)塊鏈來執(zhí)行,沒有人可以干預(yù)和操控。
區(qū)塊鏈3.0?
以太坊(ETH)仍像比特幣那樣,需要挖礦來創(chuàng)造區(qū)塊;智能合約在以太坊虛擬機(jī)執(zhí)內(nèi)行效率低下。EOS考慮了這些痛點(diǎn),提出DPOS共識機(jī)制。在EOS中,區(qū)塊的生產(chǎn)由21個超級節(jié)點(diǎn)完成,解決了區(qū)塊鏈項(xiàng)目讓世人詬病的浪費(fèi)電力的問題,提高了區(qū)塊鏈網(wǎng)絡(luò)處理事務(wù)的效率,DAPP得以快速增長。
這里標(biāo)題加了一個問號,是在于EOS這樣的做法本身似乎違背去中心化的初衷,仍值得考量。
簡單了解EOS
EOS全稱為Enterprise Operation System,即企業(yè)操作系統(tǒng)。一聽這個名字就覺得很高大上,操作系統(tǒng)是什么,那可是核高基啊,例如windows,android,ios操作系統(tǒng),可是跑各種應(yīng)用軟件。不同的領(lǐng)域,只要有人開發(fā)app部署到EOS上就行,想象空間非常大。
相比以太坊,EOS有哪些優(yōu)勢
- 效率優(yōu)勢:
- 以太坊每秒處理10到20個交易請求。EOS在白皮書中號稱每秒處理百萬交易,實(shí)際上EOS主網(wǎng)上線后也就6000的TPS,與最初吹的牛相差甚遠(yuǎn),但也比以太坊高效很多了。
- 交易費(fèi)用低廉的優(yōu)勢:
- 以太坊為了避免被DOS攻擊,在轉(zhuǎn)賬,執(zhí)行智能合約涉及到計(jì)算,存儲的每一步都要收GAS費(fèi)用。這導(dǎo)致以太坊的DAPP生態(tài)完全發(fā)展不起來。
- EOS中采取抵押EOS的模式來避免被DOS攻擊,要發(fā)動對EOS的攻擊,你需要持有大量的EOS代幣,而持有大量EOS代幣的你發(fā)動攻擊對自己有什么好處呢?
- 在EOS的生態(tài)中,DAPP的使用者,基本不用花錢,只是DAPP的開發(fā)者在部署DAPP合約的時(shí)候需要花錢。
EOS錢包
- 錢包本質(zhì)上是一個加密文件,需要密碼才能打開。
- 錢包里邊管理多個私鑰,用于對交易進(jìn)行簽名。
EOS賬戶
賬號存在于區(qū)塊鏈中,一個賬號的操作(轉(zhuǎn)賬、調(diào)用合約等)需要私鑰來簽名才會被區(qū)塊鏈網(wǎng)絡(luò)接受。
EOS的共識機(jī)制
EOS采用DPOS共識機(jī)制,將挖礦權(quán)委托給21個超級節(jié)點(diǎn)(競選這21個節(jié)點(diǎn)當(dāng)然是財(cái)力最雄厚的才會有機(jī)會)。這21個超級節(jié)點(diǎn)不用像比特幣和以太坊那樣需要搶著挖礦,而是輪流進(jìn)行區(qū)塊的打包,普通節(jié)點(diǎn)只有權(quán)選舉這21個超級節(jié)點(diǎn)。這種共識機(jī)制與比特幣的POW共識機(jī)制相比,不用浪費(fèi)大量的電力進(jìn)行挖礦。由于強(qiáng)者恒強(qiáng),這21個超級節(jié)點(diǎn)基本上很難變動,變成了財(cái)閥統(tǒng)治的區(qū)塊鏈,所以以太坊的創(chuàng)始人炮轟EOS是集中式的垃圾堆。
EOS的資源分配機(jī)制
- RAM資源,購買型資源;
- RAM是損耗型的資源,需要用EOS來購買。一些操作(如創(chuàng)建合約,創(chuàng)建賬號)需要足夠的RAM才能被執(zhí)行。執(zhí)行需要RAM的操作后,RAM被扣除損耗掉了,但剩余沒用完的RAM資源你可以拿去賣給別人。
- 這種機(jī)制導(dǎo)致有人囤貨炒作,導(dǎo)致EOS RAM的價(jià)格暴漲,但相比以太坊也還是便宜一些。
- CPU和網(wǎng)絡(luò)帶寬,抵押型資源。
- CPU和網(wǎng)絡(luò)帶寬資源可以通過抵押你的EOS幣來獲得,當(dāng)你不再使用時(shí),可以全部贖回來,相當(dāng)于沒花錢。
下邊是我的EOS錢包中顯示的資源情況:
EOS的安裝使用
測試環(huán)境
推薦采用ubuntu 18.04版本linux操作系統(tǒng)。
軟件的安裝
EOS是開源的,可以從github上下載源碼并編譯,但是為了快速了解,下載安裝即可。
1#下載2wget https://github.com/EOSIO/eos/releases/download/v1.7.2/eosio_1.7.2-1-ubuntu-18.04_amd64.deb34#安裝5sudo dpkg -i eosio_1.7.2-1-ubuntu-18.04_amd64.deb驗(yàn)證安裝
輸入cleos -h看到下邊的輸出就說明安裝好了。
$ cleos -hCommand Line Interface to EOSIO ClientUsage: cleos [OPTIONS] SUBCOMMANDOptions: -h,--help Print this help message and exit -u,--url TEXT=http://127.0.0.1:8888/理解nodeos,keosd,cleos
EOS安裝好后,我們主要了解nodeos keosd cleos這三個可執(zhí)行程序即可。
- nodeos
nodeos用于連接區(qū)塊鏈網(wǎng)絡(luò),生產(chǎn)區(qū)塊。
和以太坊默認(rèn)連接主網(wǎng)的做法不同,如果你想用nodeos來同步EOS主網(wǎng)數(shù)據(jù),你需要先做特定的配置,否則就按本地私有測試網(wǎng)絡(luò)的模式運(yùn)行。
注意:默認(rèn)情況下,運(yùn)行nodeos會創(chuàng)建本地范圍使用的EOS網(wǎng)絡(luò),也就是說只要只有一個節(jié)點(diǎn)就可以產(chǎn)生區(qū)塊,創(chuàng)建賬戶,部署合約,但這種網(wǎng)絡(luò)和真實(shí)的EOS網(wǎng)絡(luò)相差很大。網(wǎng)上大部分的文章都是類型的,我們并不采用。
- keosd
keosd是一個精簡版的nodeos,除掉了很多功能,只保留管理本地錢包的功能。我們用keosd管理我們的錢包,并提供使用錢包里的私鑰進(jìn)行數(shù)據(jù)簽名。
- cleos
cleos是(cli eos), 也就是一個命令行客戶端。它通過網(wǎng)絡(luò)連接nodeos或者keosd來執(zhí)行對應(yīng)的功能。
cleos與keosd和nodeos的關(guān)系
連接區(qū)塊鏈節(jié)點(diǎn)
默認(rèn)情況下cloes連接的nodeos地址為:http://127.0.0.1:8888/,即本地運(yùn)行的nodeos的8888端口。
cleos get info相當(dāng)于
cleos -u http://127.0.0.1:8888/ get info所以,要鏈接主網(wǎng),應(yīng)該這樣:
#mainnet.meet.one是主網(wǎng)上的一個真實(shí)節(jié)點(diǎn)cleos -u https://mainnet.meet.one:443 get info連接錢包服務(wù)
默認(rèn)連接本地錢包管理模塊
cleos --wallet-url unix:///~/eosio-wallet/keosd.sock如果要通過網(wǎng)絡(luò)連接一個錢包模塊,需知道其錢包服務(wù)地址,例如:
cleos --wallet-url http://192.168.15.191:9999cleos的本質(zhì)
例如我通過cleos查詢我主網(wǎng)上的賬號的金額,把詳細(xì)過程打印出來:
cleos -u https://mainnet.meet.one:443 --print-request --print-response get currency balance eosio.token yinmingxuan5 REQUEST: --------------------- POST /v1/chain/get_currency_balance HTTP/1.0 Host: mainnet.meet.one content-length: 74 Accept: */* Connection: close{ "account": "yinmingxuan5總結(jié)
以上是生活随笔為你收集整理的eos操作系统_如何基于EOS区块链发一个自己的币,挣它一个亿?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个算法对于某个输入的循环次数是可以事先
- 下一篇: python读取路径中字符串_pytho