




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rè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來進(jìn)試,首先我們要獲取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我們通過如下命令進(jìn)入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?,F(xiàn)在我們再去檢查一下Etherbase所指向地址的余額。5wei,5185IDEDapp這篇文章中,我并不使用IDE,這里僅僅會給出一些示例代碼,即經(jīng)典的 oWord,你如果想嘗試編寫自己的智能合約,可以使用IDE。。首先我們要獲取Solidityapt-getinstallsolc安裝成功后,我們新建一個Solidity源碼文件,命名為 pragmasoliditycontractoWorldfunctionrenderoWorld()returns(string)return'56執(zhí)行solc-- oword.sol獲得EVM二進(jìn)制碼ABIsolcabi開始部署,我們進(jìn)入codeabicode0x,二進(jìn)制數(shù)據(jù)是用十六進(jìn)制 2 //這一步賬戶,用于方便部署合>//使用上述定義的abi>my//注入code我們可以通過txpool來查看未確認(rèn)的RemixIDE,運行后我們可以得到如下結(jié) oWord智能合約就生成啦,不過它的運行成本非常高昂,所以我們極當(dāng)任何人都可以寫代碼自定義業(yè)務(wù)邏輯的時候,也就意味著需要一套標(biāo)準(zhǔn)讓人們降低開發(fā)門檻,標(biāo)準(zhǔn)化的接口讓產(chǎn)品之間可以協(xié)作。那么我們接下來就來討論一下上的三種智能合約標(biāo)準(zhǔn)模板。這三種模板都與TokenToken字貨幣一般指一個項目的平臺代幣,比如上的以太幣,元界上的ETP都是而Token往往代表了一種資產(chǎn),這些資產(chǎn)在已經(jīng)存在的其他之上運行,資產(chǎn)還可以像商品一樣,例如消費積分、游戲虛擬資產(chǎn)。Token離具體的應(yīng)用也會更近,因為應(yīng)用的項目方通常也是Token的方。目前最廣泛使用的三種Token標(biāo)準(zhǔn)都是基于的,它們分別是ERC20、ERC223、ERC721。這里的ERC表示EthereumRequestforComments,翻譯過來就是意2015年11月,V神 上提交了ERC20代幣的技術(shù)標(biāo)準(zhǔn) 隨后2016年2017年,大量的項目都使用ERC20作為工具進(jìn)行ICO。這使得ERC20成為了區(qū)塊鏈整個行業(yè)內(nèi)的Token標(biāo)準(zhǔn),可見這種標(biāo)準(zhǔn)的影響之大。實際上ERC20代幣是一類運行在上的智能合約,只不過這些合約代碼遵循一定的規(guī)范,這個規(guī)范就是ERC20標(biāo)準(zhǔn),它規(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到另外一個賬戶,如果目標(biāo)賬戶是一個合約賬戶,目標(biāo)賬戶的合約代碼如果不兼容ERC20標(biāo)準(zhǔn)怎么 我們知道使用的并不是UTXO,這意味著合約之間不滿足ACID,那么很遺憾,發(fā)送方的這100個Token就永久地丟失了。為了解決這個問題,非的社區(qū)開發(fā)者提交了ERC223模板,可以解決這個問題,使用者需要把既存的ERC20合約升級到ERC223合約。2018年初,有一個游戲火了,叫做養(yǎng)貓游戲,這個游戲也是一個智能合約。它基于ERC721標(biāo)準(zhǔn),實際上它也是一種Token標(biāo)準(zhǔn)。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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第13課《 湖心亭看雪》教學(xué)設(shè)計2024-2025學(xué)年統(tǒng)編版語文九年級上冊
- 2025年鉛及鉛合金材合作協(xié)議書
- 4《地球 我們的家園》《環(huán)境問題敲響了警鐘》教學(xué)設(shè)計-2023-2024學(xué)年道德與法治六年級下冊統(tǒng)編版
- 機器學(xué)習(xí)原理與應(yīng)用電子教案 5.10.2深度學(xué)習(xí)PyTroch框架
- 七上人教版第三單元第二章 被子植物的一生(教學(xué)設(shè)計)-初中生物核心素養(yǎng)學(xué)科教學(xué)專題培訓(xùn)系列
- 2025至2030年中國油炸春卷數(shù)據(jù)監(jiān)測研究報告
- 2025年抽紗刺繡工藝品合作協(xié)議書
- 2024四川九洲線纜有限責(zé)任公司招聘質(zhì)量體系部質(zhì)量技術(shù)崗測試筆試參考題庫附帶答案詳解
- 2025年鶴壁職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫含答案
- 2025至2030年中國橫貫式煤氣冷卻器數(shù)據(jù)監(jiān)測研究報告
- 《水稻高產(chǎn)栽培技術(shù)》全套課件
- 嗆咳患者的護(hù)理
- 2024年度咨詢服務(wù)合同:企業(yè)管理咨詢服務(wù)
- 涼山州西昌市人民醫(yī)院招聘筆試真題2023
- 住建局條文解讀新規(guī)JGJT46-2024《施工現(xiàn)場臨時用電安全技術(shù)標(biāo)準(zhǔn)》
- 《網(wǎng)頁設(shè)計與制作案例實戰(zhàn)教程》全套教學(xué)課件
- 中國古代舞蹈史課件
- DB3502T 078-2022 代建工作規(guī)程
- 冠心病課件完整版本
- 光伏發(fā)電+儲能項目三期項目建筑安裝工程投標(biāo)方案(技術(shù)方案)
- 2024關(guān)于進(jìn)一步提升基層應(yīng)急管理能力的意見詳細(xì)解讀課件
評論
0/150
提交評論