❶ 【ETH錢包開發04】web3j轉賬ERC-20 Token
在上一篇文章中講解了ETH轉賬,這一篇講一下ERC-20 Token轉賬。
【ETH錢包開發03】web3j轉賬ETH
1、直接用web3j的API
2、java/Android調用合約的 transfer 方法
不管用哪種方式來轉賬,你都需要先寫一個solidity智能合約文件來創建ERC-20 Token,然後部署合約,最後才是通過客戶端來調用。
注意:erc-20 token轉賬和eth轉賬的區別如下:
1、erc-20 token創建交易對象用的是這個方法 createTransaction
2、erc-20 token需要構建 Function ,它其實對應的就是erc-20 token合約中的那些方法。它的第一個參數就是ERC20中那幾個方法的名稱,第二個參數的話就是對應合約方法中的參數,第三個參數是和第二個參數對應的,按照我那樣就行了。轉賬的話就是 transfer ,我們從合約的 transfer 可以看到第一個參數是收款地址,第二個參數是金額,所以 Function 這里對應起來就好。
這種方法不需要使用web3j封裝的方法,而是直接調用solidity合約的方法。
步驟
1、web3j載入一個已經部署的合約
2、驗證合約是否載入成功 isValid
3、如何載入合約成功,則調用合約的 transfer 方法
注意:
1、這里的 TokenERC20 是根據solidity智能合約生成的對應的Java類,用於java/Android和智能合約交互的,如果你對這里不太清楚,不妨看看我之前的一篇文章。
以太坊Web3j命令行生成Java版本的智能合約
2、如果載入合約失敗,可能的一個原因是合約對應的Java類中的 BINARY 的值不對,這個值是你部署合約成功之後的bytecode,你最好檢查對比一下。
我發送一筆交易,可以通過這個地址查詢
https://rinkeby.etherscan.io/tx/
❷ 【ETH錢包開發03】web3j轉賬ETH
在之前的文章中,講解了創建、導出、導入錢包。
【ETH錢包開發01】創建、導出錢包
【ETH錢包開發02】導入錢包
本文主要講解以太坊轉賬相關的一些知識。交易分為ETH轉賬和ERC-20 Token轉賬,本篇先講一下ETH轉賬。
1、解鎖賬戶發起交易。錢包keyStore文件保存在geth節點上,用戶發起交易需要解鎖賬戶,適用於中心化的交易所。
2、錢包文件離線簽名發起交易。錢包keyStore文件保存在本地,用戶使用密碼+keystore的方式做離線交易簽名來發起交易,適用於dapp,比如錢包。
本文主要講一下第二種方式,也就是錢包離線簽名轉賬的方式。
交易流程
1、通過keystore載入轉賬所需的憑證Credentials
2、創建一筆交易RawTransaction
3、使用Credentials對象對交易簽名
4、發起交易
注意以下幾點:
1、Credentials
這里,我是通過獲取私鑰的方式來載入 Credentials
還有另外一種方式,通過密碼+錢包文件keystore方式來載入 Credentials
2、nonce
nonce是指發起交易的賬戶下的交易筆數,每一個賬戶nonce都是從0開始,當nonce為0的交易處理完之後,才會處理nonce為1的交易,並依次加1的交易才會被處理。
可以通過 eth_gettransactioncount 獲取nonce
3、gasPrice和gasLimit
交易手續費由gasPrice 和gasLimit來決定,實際花費的交易手續費是 gasUsed * gasPrice 。所有這兩個值你可以自定義,也可以使用系統參數獲取當前兩個值
關於 gas ,你可以參考我之前的一篇文章。
以太坊(ETH)GAS詳解
gasPrice和gasLimit影響的是轉賬的速度,如果gas過低,礦工會最後才打包你的交易。在app中,通常給定一個默認值,並且允許用戶自己選擇手續費。
如果不需要自定義的話,還有一種方式來獲取。獲取以太坊網路最新一筆交易的 gasPrice ,轉賬的話, gasLimit 一般設置為21000就可以了。
Web3j還提供另外一種簡單的方式來轉賬以太幣,這種方式的好處是不需要管理nonce,不需要設置gasPrice和gasLimit,會自動獲取最新一筆交易的gasPrice,gasLimit 為21000(轉賬一般設置成這個值就夠用了)。
這個問題,我想是很多朋友所關心的吧。但是到目前為止,我還沒有看到有講解這方面的博客。
之前問過一些朋友,他們說可以通過區塊號、區塊哈希來判斷,也可以通過Receipt日誌來判斷。但是經過我的一番嘗試,只有 BlockHash 是可行的,在web3j中根據 blocknumber 和 transactionReceipt 都會報空指針異常。
原因大致是這樣的:在發起一筆交易之後,會返回 txHash ,然後我們可以根據這個 txHash 去查詢這筆交易相關的信息。但是剛發起交易的時候,由於手續費問題或者乙太網絡擁堵問題,會導致你的這筆交易還沒有被礦工打包進區塊,因此一開始是查不到的,通常需要幾十秒甚至更長的時間才能獲取到結果。我目前的解決方案是輪詢的去刷 BlockHash ,一開始的時候 BlockHash 的值為0x00000000000,等到打包成功的時候就不再是0了。
這里我使用的是rxjava的方式去輪詢刷的,5s刷新一次。
正常情況下,幾十秒內就可以獲取到區塊信息了。
區塊確認數=當前區塊高度-交易被打包時的區塊高度。
❸ ETH轉賬的2種方式的對比
web3j支持使用以太坊錢包文件(推薦)和乙太網客戶端管理命令來發起一筆交易。當你創建了一個擁有以太幣的賬戶後,你可以通過以下兩種交易機制,和以太坊網路(私網/公網)交易:
這里主要講一下 線下簽名交易(Offline transaction signing) 。線下簽名交易允許你使用web3j提供的錢包賬戶發起交易,你完全控制自己的私鑰,交易發送到網路上的其它節點並廣播。
線下簽名交易使用 RawTransaction 對象來完成,一共有如下幾步:
1、通過私鑰或密碼+錢包文件(keystore)來載入轉賬憑證Credentials
2、獲取發起轉賬賬戶的nonce 值,也就是第幾筆交易
3、創建 RawTransaction交易 對象
4、簽名 RawTransaction 對象,也就是對交易做簽名
5、發送交易( RawTransaction 對象)給節點處理。
6、獲取交易哈希值TxHash
以太坊實戰-再談nonce使用陷阱: https://blog.csdn.net/wo541075754/article/details/79054937
此外,還有一種簡單的轉賬方式
這種方式,不需要自己管理nonce。
這2種方式都是離線交易,先組裝交易,然後發送到鏈上。
參考:
https://docs.web3j.io/getting_started.html#transactions
https://www.jianshu.com/p/6650d2a3aea9
❹ 比特派 ETH、ERC20 Token 批量轉賬教程,好用!
功能簡介:
比特派的批量轉賬功能可以將你的ETH或ERC20的TOKEN 同時發送到多個地址(當前最多支持255個)。
優勢:
節省操作時間,節省礦工費。
操作教程:
1、打開比特派,在左上角切換到「ETH體系」點擊 「批量轉賬」
2、進入操作頁面後,首先確認自己用來付款的的幣種、地址。然後點擊加號【+】來添加收款方信息。
3、你可以選擇【從剪貼板獲取】或者【手動輸入】收款方信息。
當你選擇從剪貼板獲取時:
你需要按固定格式提前復制好相關內容,再點擊此按鈕才可添加成功。
格式為:
地址,金額 (地址和金額之間用英文的逗號分隔,多組信息之間需要換行)
例如:
0xc35f4f66ef......20db8f7d , 0.001
0xfe4503c78......4e4ae1ae , 0.002
如果您要處理的地址較多,建議使用電腦表格軟體進行整理,格式如下。
當你整理的地址在表格內顯示異常時,選中所有異常的表格,右鍵選擇單元格格式,並將單元格格式選擇文本。(不同的軟體操作步驟略有差異,核心操作在於將單元格文本格式選擇成文本。)
整理完成後,可通過微信等其他軟體將內容發送到手機並復制,打開批量轉賬頁面點擊加號+,選擇從剪貼板復制,即可批量添加收款信息。
當你選擇手動輸入時:
可以手動輸入地址、金額。也可以通過掃碼、地址簿添加等方式添加地址。
4、地址信息添加完成並確認無誤後,點擊確認轉賬,核對好相關信息後點擊確認,即可發出。等待合約確認後,便可查看所有的轉賬詳情。
❺ Geth實現以太賬戶之間轉賬
1、打開控制台
F:\Geth>geth --datadir "data" console
2、查看目前所擁有的賬戶列表
> eth.accounts
[""]
3、新建賬戶
> personal.newAccount('123456')
""
4、查看目前所擁有的賬戶列表
> eth.accounts
["", "
efed9a8240"]
5、查看賬戶余額
> eth.getBalance(eth.accounts[0])
665000000000000000000
> eth.getBalance(eth.accounts[1])
0
6、定義變數
> var acc1=eth.accounts[0]
undefined
> acc1
""
> var acc2=eth.accounts[1]
undefined
> acc2
""
7、轉賬
> eth.sendTransaction({from: acc1 , to: acc2, value: web3.toWei(10,"ether")})
Error: authentication needed: password or unlock
at web3.js:3143:20
at web3.js:6347:15
at web3.js:5081:36
at <anonymous>:1:1
(賬戶被鎖報錯)
8、解鎖賬戶
> personal.unlockAccount(acc1,"123456")
true
9、轉賬
> eth.sendTransaction({from: acc1 , to: acc2, value: web3.toWei(10,"ether")})
INFO [11-14|14:34:24.526] Setting new local account address=0xF4f
INFO [11-14|14:34:24.551] Submitted transaction fullhash=0x98
recipient=0x1DfA2
"0x98"
10、查看賬戶余額
> eth.getBalance(acc1)
665000000000000000000
> eth.getBalance(acc2)
0
11、挖礦
>miner.start(1);admin.sleepBlocks(20);miner.stop();
12、挖礦結束查看賬戶余額
> eth.getBalance(acc2)
10000000000000000000
(歡迎打賞,一分也是愛)
❻ 一步一步教你使用以太坊錢包
下面開始介紹myetherwallet
記住,這個錢包只支持如下幾種
ETH、ETC、和符合ERC20協議的token,
其他 不支持的幣不要轉進來(轉進來會丟失)
瀏覽器打開網站:
https://www.myetherwallet.com
在頁面右上角選擇你喜歡的語言,如下圖所示
第一步 創建錢包
輸入密碼(至少9位)
下載keystore文件(這里保存你的公鑰和私鑰)
保存你的私鑰
初次解鎖錢包(建議一定要多試下第二步,不要立馬就轉幣進去,否則有可能你沒記住密碼或者keystore沒放好,多試幾次可以讓你更加熟悉)
一般初次點擊解鎖之後,頁面可能不刷新,直接滑鼠往下滾下來就看到你的錢包信息了
第二步 查看錢包信息
當你完成了第一步,錢包就已經建好了。
這一步只是教你平時怎麼打開錢包看看裡面的余額之類的
你的ETH的余額和交易歷史
你的所有代幣token的余額和交易歷史
第三步 接收和發送ETH及其他token代幣
接收ETH和其他的代幣token(這個錢包所支持的,點擊show all tokens看所有支持的代幣)
都用同一個地址即可,不需要任何額外的標記或操作
點擊左上角 發送以太幣/發送代幣,選擇keystoreFile,
上傳keystore文件,填寫密碼,解鎖賬號
3.發送給別人ETH或代幣的時候,你就要輸入對方對應的ETH地址或代幣地址,不要填錯,
比如你要發送到你的交易平台,如果發送EOS,這里就要放你交易平台的EOS的充值地址,
而不是放ETH充值地址,當然你還需要在下面這個下拉菜單這里選擇一下相應的代幣類型,
比如EOS
❼ 我有ETH怎麼換人民幣啊
Eth.=Ethiopia(衣索比亞)位於非洲東北部,紅海西南岸,東與吉布地、索馬里接壤,北、西與蘇丹交界,南鄰肯亞,面積110. 36萬多平方公里。衣索比亞海岸線長1013公里,境內以山地高原為主,大部屬衣索比亞高原,中西部是高原的主體,佔全境的2/3,平均海拔2500—3000米,有「非洲屋脊」之稱。同時ETH還是衣索比亞(The Federal Democratic Republic of Ethiopia)在國際足聯的國家代碼
應答時間:2021-03-04,最新業務變化請以平安銀行官網公布為准。
[平安銀行我知道]想要知道更多?快來看「平安銀行我知道」吧~
https://b.pingan.com.cn/paim/iknow/index.html
❽ 以太坊官網錢包怎麼用
通過官網注冊生成錢包。
第1步打開以太坊在線錢包。
第2步輸入密碼。
第3步生成錢包。
第4步記錄並列印錢包。
第5步導入錢包。
第6步發送以太幣。
以太坊錢包是一個比特幣區塊鏈媒體平台。以太坊區塊鏈瀏覽器,實現比特幣交易,達到快速充值提現的目的。
❾ tp錢包和imtoken可以互轉
答案是可以的!由於兩者都支持以太坊網路上的數字資產,因此可以進行互相轉賬。
首先,讓我們先了解一下imToken。imToken是一款基於以太坊的去中心化數字貨幣錢包,支持ETH、BTC、EOS等多種數字資產。它擁有簡潔易用的用戶界面和完善的功能,支持創建、導入、備份和恢復錢包等操作,同時還可以進行轉賬、交易、收款等操作。此外,imToken還提供了DApp瀏覽器,用戶可以直接在錢包中訪問各種以太坊DApp應用。
互轉的具體操作方法如下:首先,在imToken中點擊「錢包」,找尺枝到你要轉出的資產,並選擇「轉賬」選項。輸入轉賬地址和轉賬數量等信息後,點擊確認即可完成轉賬。在TP錢包中,也可以通過類似的方式完成接收和發送數字資產的操作。
需要注意的是,由於數字貨幣的特殊性,轉賬前請務陵衫敏必核對轉賬地址和轉賬金額等信息,以免因錯誤操作而造成損失。
總之,它們之間可以進行數塌燃字資產的互轉。如果你需要進行數字貨幣交易或者使用以太坊DApp應用,不妨試試imToken吧!