版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(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客戶端的時(shí)候,用戶其實(shí)并不需要了解Go與安裝本文使用Geth來進(jìn)試,首先我們要獲取Geth客戶端,如果用戶使用的是Ubuntu環(huán)境的話,可以直接從PPA安裝。#apt-getinstall #add-apt-repository-y#apt-get#apt-getinstall安裝成功后,我們可以查看Geth如果在的主網(wǎng)上運(yùn)行和開發(fā)測試智能合約,這是不明智的,因?yàn)闀?huì)消耗真實(shí)的以太幣,不過我們可以使用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。輸入我們使用如下命令啟動(dòng)挖礦,注意在Etherbase1$geth--datadir/root/geth-test/--networkid98--mine--minerthreads=1--的PoW挖礦算法是內(nèi)存型的,首先需要生成DAG,這個(gè)視你設(shè)備的性能而定,需要耗費(fèi)一定時(shí)間,請(qǐng)耐心等待,如下圖所示,我們可以看到DAG生成非常耗費(fèi)時(shí)在我的開發(fā)機(jī)上一共耗費(fèi)了6分半,又經(jīng)過了4分鐘,我挖到了第一個(gè)塊,如下圖所CPU2Core4GBUbuntu16.04?,F(xiàn)在我們再去檢查一下Etherbase所指向地址的余額。5wei,5185IDEDapp這篇文章中,我并不使用IDE,這里僅僅會(huì)給出一些示例代碼,即經(jīng)典的 oWord,你如果想嘗試編寫自己的智能合約,可以使用IDE。。首先我們要獲取Solidityapt-getinstallsolc安裝成功后,我們新建一個(gè)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,運(yùn)行后我們可以得到如下結(jié) oWord智能合約就生成啦,不過它的運(yùn)行成本非常高昂,所以我們極當(dāng)任何人都可以寫代碼自定義業(yè)務(wù)邏輯的時(shí)候,也就意味著需要一套標(biāo)準(zhǔn)讓人們降低開發(fā)門檻,標(biāo)準(zhǔn)化的接口讓產(chǎn)品之間可以協(xié)作。那么我們接下來就來討論一下上的三種智能合約標(biāo)準(zhǔn)模板。這三種模板都與TokenToken字貨幣一般指一個(gè)項(xiàng)目的平臺(tái)代幣,比如上的以太幣,元界上的ETP都是而Token往往代表了一種資產(chǎn),這些資產(chǎn)在已經(jīng)存在的其他之上運(yùn)行,資產(chǎn)還可以像商品一樣,例如消費(fèi)積分、游戲虛擬資產(chǎn)。Token離具體的應(yīng)用也會(huì)更近,因?yàn)閼?yīng)用的項(xiàng)目方通常也是Token的方。目前最廣泛使用的三種Token標(biāo)準(zhǔn)都是基于的,它們分別是ERC20、ERC223、ERC721。這里的ERC表示EthereumRequestforComments,翻譯過來就是意2015年11月,V神 上提交了ERC20代幣的技術(shù)標(biāo)準(zhǔn) 隨后2016年2017年,大量的項(xiàng)目都使用ERC20作為工具進(jìn)行ICO。這使得ERC20成為了區(qū)塊鏈整個(gè)行業(yè)內(nèi)的Token標(biāo)準(zhǔn),可見這種標(biāo)準(zhǔn)的影響之大。實(shí)際上ERC20代幣是一類運(yùn)行在上的智能合約,只不過這些合約代碼遵循一定的規(guī)范,這個(gè)規(guī)范就是ERC20標(biāo)準(zhǔn),它規(guī)定了跨Dapp轉(zhuǎn)移Token、Token以及ERC20一共定義了6個(gè)函數(shù)和兩個(gè)觸發(fā),他們都是使用Solidity語言編寫的。個(gè)函數(shù)描述了如何轉(zhuǎn)移以及Token的相關(guān)數(shù)據(jù)如何被,市面上99%的ERC20Token都可以找到這6個(gè)函數(shù)。2個(gè)提供了Approve和Transfer的格式化輸出。下面我們重點(diǎn)看一看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)建兩個(gè)不同的地址之間的單向,Token的擁有者可以從此智能合約中提取Token;Approve:這個(gè)函數(shù)需要Aae,顧名思義,它定義了n創(chuàng)建屬于自己的,這個(gè)函數(shù)要求兩個(gè)參數(shù)作為輸入,分別是花費(fèi)者的地址,以及發(fā)送Transfer和TransferFrom:定義了Token如何轉(zhuǎn) TotalSupply:定義了這個(gè)Token最大量上面我們簡要介紹了ERC20ERC20在某些情況下,ERC20也有些缺陷。例如使用ERC20發(fā)送100個(gè)Token到另外一個(gè)賬戶,如果目標(biāo)賬戶是一個(gè)合約賬戶,目標(biāo)賬戶的合約代碼如果不兼容ERC20標(biāo)準(zhǔn)怎么 我們知道使用的并不是UTXO,這意味著合約之間不滿足ACID,那么很遺憾,發(fā)送方的這100個(gè)Token就永久地丟失了。為了解決這個(gè)問題,非的社區(qū)開發(fā)者提交了ERC223模板,可以解決這個(gè)問題,使用者需要把既存的ERC20合約升級(jí)到ERC223合約。2018年初,有一個(gè)游戲火了,叫做養(yǎng)貓游戲,這個(gè)游戲也是一個(gè)智能合約。它基于ERC721標(biāo)準(zhǔn),實(shí)際上它也是一種Token標(biāo)準(zhǔn)。ERC721與ERC20最大的區(qū)別是:ERC721定義了每一份Token這樣一來,ERC721TokenERC20今天我們介紹了錢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國單軸步進(jìn)電機(jī)控制器行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年浙江嘉興市海寧市康源再生資源科技有限公司招聘筆試參考題庫附帶答案詳解
- 2025年浙江臺(tái)州市商貿(mào)核心區(qū)開發(fā)建設(shè)投資有限公司招聘筆試參考題庫附帶答案詳解
- 2025年安徽合肥市瑤海區(qū)國有資產(chǎn)經(jīng)營有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 二零二五年度建筑信息模型(BIM)技術(shù)應(yīng)用合同2篇
- 二零二五年度按揭購房合同售后服務(wù)保障合同2篇
- 2025年咸陽貨運(yùn)從業(yè)資格證考試技巧
- 二零二五年度智能家居產(chǎn)品獨(dú)家代理合作協(xié)議范本2篇
- 2024房屋抵押借款合同范本一
- 2024版學(xué)校安全協(xié)議責(zé)任書范文
- 一年級(jí)科學(xué)人教版總結(jié)回顧2
- 個(gè)人住房貸款提前還款月供及節(jié)省利息EXCEL計(jì)算
- 第五單元《圓》教材解析-人教版數(shù)學(xué)六年級(jí)上冊
- 患者突發(fā)昏迷應(yīng)急預(yù)案演練腳本-
- 智能機(jī)器人技術(shù)導(dǎo)論P(yáng)PT完整全套教學(xué)課件
- 危險(xiǎn)性較大的分部分項(xiàng)工程清單 及安全管理措施
- 中職英語語文版(2023)基礎(chǔ)模塊1 Unit 1 The Joys of Vocational School 單元測試題(含答案)
- 最全-房屋市政工程安全生產(chǎn)標(biāo)準(zhǔn)化指導(dǎo)圖冊
- 聚合物的流變性詳解演示文稿
- 壓力彈簧力度計(jì)算器及計(jì)算公式
- 內(nèi)科學(xué)教學(xué)課件:免疫性血小板減少癥(ITP)
評(píng)論
0/150
提交評(píng)論