引用
https://docs.qq.com/doc/BKHJCx0rBNeN4bJaSU2Zdl6Y4RhnYP25v1yT2
https://github.com/TrustWallet/trust-wallet-ios
http://www.itdecent.cn/p/099b520ba7a8
ETH基本概念
https://blog.csdn.net/wo541075754/article/details/79042558
1、創(chuàng)建ETH錢(qián)包
調(diào)用Keystore的createAccount創(chuàng)建eth 錢(qián)包地址
然后調(diào)用Keystore的export方法 導(dǎo)出keystore file?(一段json數(shù)據(jù))
該keystore file 可以導(dǎo)入到其它類(lèi)型(網(wǎng)頁(yè)、App)的錢(qián)包
2、導(dǎo)入錢(qián)包
導(dǎo)入錢(qián)包有三種方式
第一種 keystore file(json)導(dǎo)入
第二種 私鑰導(dǎo)入
第三種 助記詞導(dǎo)入
分別調(diào)用Keystore的importWallet方法
并設(shè)置密碼,密碼通過(guò)aes加密存儲(chǔ)在手機(jī)的keychain中
后面如果導(dǎo)出錢(qián)包的私鑰或keystore file or 轉(zhuǎn)賬 輸入密碼驗(yàn)證
3、錢(qián)包管理
錢(qián)包創(chuàng)建或?qū)牒弥?,顯示錢(qián)包的一些信息 如余額及該錢(qián)包下的ERC20 token
https://theethereum.wiki/w/index.php/ERC20_Token_Standard
https://blog.csdn.net/diandianxiyu_geek/article/details/78082551
ERC20 token和 以太坊 使用同樣的地址
ERC20 token 部署在以太坊上需要Contract
以太坊也是一個(gè)特殊的token 它的合約地址為:
0x0000000000000000000000000000000000000000
例如:
0x627306090abaB3A6e1400e9345bC60c78a8BEf57
不同的是他們的合約地址(Contract Address)
可以查看ERC20 token合約的源碼
https://etherscan.io/address/0xB8c77482e45F1F44dE1745F52C74426C631bDD52?- code
一個(gè)以太坊的地址理論上 可以有N個(gè)ERC 20 token
如果ERC20 token需要轉(zhuǎn)賬,和以太坊的轉(zhuǎn)賬類(lèi)似,只是多了一個(gè)合約地址的參數(shù)
用來(lái)區(qū)分不同的token
4、獲取以太坊的余額(Balance)及價(jià)格
與以太坊鏈的交互我們一般使用infura?這個(gè)服務(wù)提供商
它提供了正式鏈及測(cè)試鏈
文檔:https://infura.io/docs/gettingStarted/chooseaNetwork
通過(guò)JSON-RPC發(fā)請(qǐng)求到infura?,然后就可以返回想要的結(jié)果
例如獲取ETH的余額
TokensBalanceService
EtherServiceRequest
BalanceRequest
也可以直接通過(guò)HTTP請(qǐng)求直接在?Etherscan?獲取token余額
https://etherscan.io/apis?- tokens
5、獲取token對(duì)應(yīng)的貨幣價(jià)格
TrustAPI
https://github.com/TrustWallet/trust-ray/wiki/API
如https://api.trustwalletapp.com/prices?currency=USD&symbols=ETH,OMG
6、獲取某個(gè)以太坊地址下的 token list
如:https://api.trustwalletapp.com/tokens?address=0x33923a7888c0b885768b3ed578f4d243b17182ee
7、獲取以太坊交易記錄
8、以太坊轉(zhuǎn)賬
分為ETH轉(zhuǎn)賬和 ERC20 轉(zhuǎn)賬
用Contract Address區(qū)別
9、交易失敗的可能情況
https://blog.csdn.net/wo541075754/article/details/79054937
10、與服務(wù)端交互的接口匯總
EtherServiceRequest
1)獲取Gas Limit?eth_estimateGas
2)獲取Gas Price?eth_gasPrice
3)獲取最新的區(qū)塊號(hào)?eth_blockNumber
4)獲取交易收據(jù)?getTransactionReceipt
5)以太坊轉(zhuǎn)賬?eth_sendRawTransaction
6)獲取交易的Nonce值?eth_getTransactionCount
7)獲取token余額?eth_getBalance
TrustAPI
1)獲取token價(jià)格
TrustService
1)獲取token list
2)獲取交易記錄
3)搜索token
我是一名小小程序員,如果您有以太坊代幣或者錢(qián)包開(kāi)發(fā)需求,可以聯(lián)系!
