




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
JSON-RPC2.0目前支持的客戶版本有Go-ethereum(Go語言)、Parity(Rust語言)、Cpp-ethereum(C++語言)、Ethereum-lib(Javascript)、EthererumJ(Java語言)、Pyethapp(Python語言),基本涵蓋了主流編程語言。推薦使用的版本是Go-ethererum,這是GoGeth是指Dapp開發(fā)者,比如在操作Geth客戶端的時候,用戶其實并不需要了解Go與安裝本文使用Geth來進試,首先我們要獲取Geth客戶端,如果用戶使用的是Ubuntu環(huán)境的話,可以直接從PPA安裝。#apt-getinstall #add-apt-repository-y#apt-get#apt-getinstall安裝成功后,我們可以查看Geth如果在的主網(wǎng)上運行和開發(fā)測試智能合約,這是不明智的,因為會消耗真實的以太幣,不過我們可以使用Geth搭建一條屬于自己的,也就是私鏈。 "config":"chainId":"homesteadBlock":"eip155Block":"eip158Block":7"difficulty": "gasLimit": "alloc": "7df9a875a174b3bc565e6424a0050ebc1b2d1d82":{"balance":"300000" "f41c74c9ae680c1aa78f42e5647a62f353b7bdde":{"balance":"400000"1314 $geth--datadir/root/geth-test/initCPU我們通過如下命令進入Geth $geth--datadir/root/geth-test/--networkid98 EOAeth.getBalance址的余額,顯示為0。輸入我們使用如下命令啟動挖礦,注意在Etherbase1$geth--datadir/root/geth-test/--networkid98--mine--minerthreads=1--的PoW挖礦算法是內(nèi)存型的,首先需要生成DAG,這個視你設(shè)備的性能而定,需要耗費一定時間,請耐心等待,如下圖所示,我們可以看到DAG生成非常耗費時在我的開發(fā)機上一共耗費了6分半,又經(jīng)過了4分鐘,我挖到了第一個塊,如下圖所CPU2Core4GBUbuntu16.04。現(xiàn)在我們再去檢查一下Etherbase所指向地址的余額。5wei,5185IDEDapp這篇文章中,我并不使用IDE,這里僅僅會給出一些示例代碼,即經(jīng)典的 oWord,你如果想嘗試編寫自己的智能合約,可以使用IDE。。首先我們要獲取Solidityapt-getinstallsolc安裝成功后,我們新建一個Solidity源碼文件,命名為 pragmasoliditycontractoWorldfunctionrenderoWorld()returns(string)return'56執(zhí)行solc-- oword.sol獲得EVM二進制碼ABIsolcabi開始部署,我們進入codeabicode0x,二進制數(shù)據(jù)是用十六進制 2 //這一步賬戶,用于方便部署合>//使用上述定義的abi>my//注入code我們可以通過txpool來查看未確認的RemixIDE,運行后我們可以得到如下結(jié) oWord智能合約就生成啦,不過它的運行成本非常高昂,所以我們極當任何人都可以寫代碼自定義業(yè)務(wù)邏輯的時候,也就意味著需要一套標準讓人們降低開發(fā)門檻,標準化的接口讓產(chǎn)品之間可以協(xié)作。那么我們接下來就來討論一下上的三種智能合約標準模板。這三種模板都與TokenToken字貨幣一般指一個項目的平臺代幣,比如上的以太幣,元界上的ETP都是而Token往往代表了一種資產(chǎn),這些資產(chǎn)在已經(jīng)存在的其他之上運行,資產(chǎn)還可以像商品一樣,例如消費積分、游戲虛擬資產(chǎn)。Token離具體的應(yīng)用也會更近,因為應(yīng)用的項目方通常也是Token的方。目前最廣泛使用的三種Token標準都是基于的,它們分別是ERC20、ERC223、ERC721。這里的ERC表示EthereumRequestforComments,翻譯過來就是意2015年11月,V神 上提交了ERC20代幣的技術(shù)標準 隨后2016年2017年,大量的項目都使用ERC20作為工具進行ICO。這使得ERC20成為了區(qū)塊鏈整個行業(yè)內(nèi)的Token標準,可見這種標準的影響之大。實際上ERC20代幣是一類運行在上的智能合約,只不過這些合約代碼遵循一定的規(guī)范,這個規(guī)范就是ERC20標準,它規(guī)定了跨Dapp轉(zhuǎn)移Token、Token以及ERC20一共定義了6個函數(shù)和兩個觸發(fā),他們都是使用Solidity語言編寫的。個函數(shù)描述了如何轉(zhuǎn)移以及Token的相關(guān)數(shù)據(jù)如何被,市面上99%的ERC20Token都可以找到這6個函數(shù)。2個提供了Approve和Transfer的格式化輸出。下面我們重點看一看ERC20//ERCTokenStandard#20 contractERC20InterfacefunctiontotalSupply()publicconstantreturnsfunctionbalanceOf(addresstokenOwner)publicconstantreturns(uintfunctionallowance(addresstokenOwner,addressspender)publicconstantreturnsfunctiontransfer(addressto,uinttokens)publicreturns(boolfunctionapprove(addressspender,uinttokens)publicreturns(boolfunctiontransferFrom(addressfrom,addressto,uinttokens)publicreturns(bool14
eventTransfer(addressindexedfrom,addressindexedto,uinteventApproval(addressindexedtokenOwner,addressindexedspender,uintAllowance:允許多次創(chuàng)建兩個不同的地址之間的單向,Token的擁有者可以從此智能合約中提取Token;Approve:這個函數(shù)需要Aae,顧名思義,它定義了n創(chuàng)建屬于自己的,這個函數(shù)要求兩個參數(shù)作為輸入,分別是花費者的地址,以及發(fā)送Transfer和TransferFrom:定義了Token如何轉(zhuǎn) TotalSupply:定義了這個Token最大量上面我們簡要介紹了ERC20ERC20在某些情況下,ERC20也有些缺陷。例如使用ERC20發(fā)送100個Token到另外一個賬戶,如果目標賬戶是一個合約賬戶,目標賬戶的合約代碼如果不兼容ERC20標準怎么 我們知道使用的并不是UTXO,這意味著合約之間不滿足ACID,那么很遺憾,發(fā)送方的這100個Token就永久地丟失了。為了解決這個問題,非的社區(qū)開發(fā)者提交了ERC223模板,可以解決這個問題,使用者需要把既存的ERC20合約升級到ERC223合約。2018年初,有一個游戲火了,叫做養(yǎng)貓游戲,這個游戲也是一個智能合約。它基于ERC721標準,實際上它也是一種Token標準。ERC721與ERC20最大的區(qū)別是:ERC721定義了每一份Token這樣一來,ERC721TokenERC20今天我們介紹了錢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年國內(nèi)保理業(yè)務(wù)協(xié)議應(yīng)收賬款池融資版
- 一年級下數(shù)學(xué)教案-退位減法-西師大版
- 2024-2025學(xué)年一年級下學(xué)期數(shù)學(xué)第二單元位置《左和右》(教案)
- 2025年公司和個人簽訂的勞務(wù)合同模板
- 六年級上冊數(shù)學(xué)教案-4.1 比的基本性質(zhì) ︳青島版
- 一年級下冊數(shù)學(xué)教案-小兔請客1 北師大版
- 2025年倉儲保管合同樣本常用版
- 學(xué)習2025年雷鋒精神62周年主題活動方案 (3份)
- 2025年合肥經(jīng)濟技術(shù)職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 期中(試題)-外研版(三起)英語三年級下冊-(含答案)
- 月度安全生產(chǎn)例會匯報材料
- 2025年春季學(xué)期學(xué)校團委工作計劃(附團委工作安排表)
- 2025公文寫作考試題庫(含參考答案)
- 2025年湖南科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2024年安徽省高校分類考試對口招生語文試卷真題(含答案)
- 2025年蘇州健雄職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年南京信息職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 如何管理好一家公寓
- 2025年零售業(yè)員工職業(yè)發(fā)展規(guī)劃與培訓(xùn)
- 2025年八省聯(lián)考高考語文試題真題解讀及答案詳解課件
- 《復(fù)合材料電纜溝蓋板》團體標準
評論
0/150
提交評論