eth錢包注冊自定義token
⑴ 【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/
⑵ 如何從OTCBTC提幣到itoken錢包
從OTCBTC提幣到itoken錢包的方法是:
1、初次打開該軟體需要進行以太坊錢包的創建或導入。點擊「創建錢包」,設置錢包名稱(隨便填寫)並設置密碼(一定要記好,一旦忘記無法重置);
2、錢包創建好後必須備份:點擊導出助記詞——輸入密碼——將助記詞抄下來並保管好;
3、需要說明的是,由於該軟體本身是一個錢包,錢包是涉及到資產安全的工具,所以在正式使用錢包之前,一定要做好錢包助記詞或私鑰的備份;
4、該軟體的交易接入的是雲幣網。點擊App底部的「發現」按鈕,則可以看到雲幣的logo,點擊這個logo,會出現一個掃描頁面,這時候,需要登錄雲幣賬戶,進入雲幣網「用戶設置」頁面,右下方有個「訪問令牌」的版塊,點擊其中的「生成」;
5、發現」頁面的第二個欄目是ICO,可以通過該軟體參與一些ICO項目。該軟體對在其平台上線的ICO項目具有嚴格的把控,相當於替你做了第一道篩選;
6、提幣方法:要參與ICO項目得先把從交易所買的ETH提到自己的錢包里,這就涉及到一個提幣的動作。基本上所有支持ETH交易的網站都支持提幣。用戶發起提幣需求後,會收到一封提幣確認郵件。手動點擊確認提幣後,資產將會發布到區塊鏈網路中。
⑶ 以太2.0錢包怎麼用
新手如何快速學會使用以太仿錢包
工具/原料
手機1部 筆/筆記本
1,注冊下載imToken錢包App。打開瀏覽器輸入官方網址https://token.im/進入下載,或者在手機自帶的軟體應用商城搜索「imtoken」注冊下載。
注意:imToken錢包App分蘋果版和安卓版。蘋果版需要用國際ID登錄手機後才可以下載。
有安卓手機的建議大家盡可能用安卓手機下載,會省去很多麻煩,操作起來也方便。
打開網址不要直接下載,先點擊右上角三個橫杠,然後點擊下載,再選擇軟體版本和手機版本,下面是安卓手機演示。
2,打開下載好的APP,同意協議進入imToken,可以看見有兩個選項,一個是「創建」另一個是「導入」,點擊創建錢包。
3,這時會出現一個風險知識測評,可以直接點擊右上角「跳過」。
4,到了填寫信息注冊頁面。
錢包名稱:類似微信和qq昵稱,建議簡單一點。
密碼:密碼建議大小寫字母、數字、特殊符號相結合。密碼提示信息可以不填。
密碼填寫完後,勾選我已經閱讀,點擊創建錢包。
5,點擊備份錢包,進行備份。
備份錢包就是備份助記詞,也就是手抄寫12個英文單詞。按英文單詞的順序手抄下來保存好。
關於密碼:如果密碼丟失了可以在錢包首頁點擊導入錢包,導入助記詞更改密碼,找回原來的錢包。
6,按順序手抄好助記詞後,根據系統提示點擊確認。
7,錢包賬號:點擊名稱下面的方格,可以看到完整的錢包地址(收款賬號),直接復制就可以了。如果別人要給你轉賬,把這個地址給對方就行。
8,如何轉賬:
收款:把錢包地址給對方,對方轉賬後,資產自動到錢包對應的數字資產里。錢包里所有的數字資產都是共用同一個錢包地址的,一個錢包只有一個錢包地址,是唯一的。
轉賬:以太仿錢包可以存儲以太系列的所有數字貨幣資產。你要給對方轉哪個數字資產就點開哪個。以太仿幣(ETH)為例,直接點開,點擊左下角轉賬,彈出轉賬頁面。
收款人錢包地址:輸入對方的錢包地址
轉賬金額:轉多少就填寫多少
備註:可填可不填,隨意
礦工費:正常情況大家不要隨意拉動那個移動點,選擇默認的礦工費就可以了。礦工費就相當於銀行卡轉賬的手續費。礦工費是按每一筆交易收取的,不管轉多少礦工費都一樣,轉一次賬礦工費就幾毛錢,大家一定不要為了幾毛錢去降低礦工費,礦工費太低會轉賬不成功,轉賬不成功後金額會退回賬戶,但是產生的礦工費是不退的。
轉賬信息填完,點擊下一步就可以了,轉賬正常情況1分鍾左右就到了。
⑷ Solidity之地址(address)
ETH中的地址是獨一無二的,它們來自公鑰或者合約。在ETH交易中,收款人為特定的地址,就像銀行轉賬中的賬號。
ETH地址主要分為兩類:以20位元組長度的值表示,來自Keccak-256哈希函數的最後20位元組。始終用「0x」開頭,代表16進制形式。任何錢包都支持接收大寫或小寫地址,解析無差異。在創建地址時加上「0x」前綴後,變為42個字元的表示。
定義地址變數僅需在變數名稱前加上「address」關鍵詞。獲取與合約交互的地址簡單快捷。
地址與可支付地址有別,主要區別在於可支付地址能接收和發送ETH TOKEN。加入「payable」關鍵字後,其功能增強,方法如transfer、send、call、delegatecall和staticcall等適用。
在合約創建中,地址類型前並無差異。自0.5.0版本起,地址與合約間的轉換方式有所不同,盡管合約的payable fallback方法允許其在某些情況下轉換為地址和可支付地址。
查看地址/合約余額可通過不同方法實現。轉賬資金的主要方法包括但不限於transfer、send、檢查余額和調用特定函數。這些包括查看余額、驗證地址存在的方法,以及執行合約方法。
當合約被編譯部署後,會獲取特定地址,即零地址(zero-address),在ETH中代表創建新合約的交易。零地址為20位元組長度,內容為空,故稱作零地址。所有地址操作均需考慮這個特別地址。
具體操作地址時需結合使用多種函數,謹慎選擇適用方法。ETH地址處理在智能合約與外部交互中的重要性不容忽視。
⑸ web3怎麼交易流程(web3j獲取交易詳情)
歐易web3錢包怎麼轉賬1、首先打開歐易(OKEX),點擊頁面右上方資產管理,選擇提幣,進入提幣頁面。
2、其次選擇需要提幣的幣種,例如BTC,選擇提幣方式,可以選擇鏈上提幣或內部轉賬,然後點擊下一步。
3、最後填寫提幣信息,輸入提幣地址和數量,點擊下一步即可。
【ETH錢包開發03】web3j轉賬ETH
在之前的文章中,講解了創建、導出、導入錢包。
【ETH錢包開發01】創建、導出錢包
【ETH錢包開發02】導入錢包
本文主要講解以太坊轉賬相關的一些知識。交易分為ETH轉賬和ERC-20Token轉賬,本篇先講一下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刷新一次。
正常情況下,幾十秒內就可以獲取到區塊信息了。
區塊確認數=當前區塊高度-交易被打包時的區塊高度。
以太坊web3.sendRawTransaction離線簽名交易工作中需要復現短地址攻擊和the重入攻擊,重入攻擊可以直接通過eth.sendTransaction和remix來發送交易,但是短地址攻擊由於錢包和remix這些都對input做了長度檢測,無法通過這些方式來復現,只能通過發離線簽名交易來實現。
1.環境依賴:nodejs,keythereum,ethereumjs-common,ethereumjs-tx。
2.進入Node控制台,獲取相應賬戶私鑰。
3.簽名交易,進入Node,這里注意nonce問題,需要Nonce是實際可執行的nonce,Nonce不對會發送交易失敗,關於如何獲取inputdata網路比較多就不詳述了。
4.遇到的坑,網路出來的步驟是有問題的或者過時了,當時是參考的這篇文章,
,在控制台通過eth.sendRawTransaction發送簽名好的交易,我遇到了這個錯誤****
⑹ 一步一步教你使用以太坊錢包
下面開始介紹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