ETH錢包問題
1. 【ETH錢包開發02】導入錢包
本文主要講解通過助記詞、keystore、私鑰 3種方式來導入錢包。導入錢包就是說根據輸入的這3者中的一個去重新生成一個新的錢包。導入錢包的過程和創建的過程其實是差不多的。
根據助記詞導入錢包不需要原始密碼,密碼可以重新設置。根據用戶輸入的助記詞,先驗證助記詞的合規性(格式、個數等),驗證正確後,配合用戶輸入的密碼重新生成一個新的錢包。
驗證助記詞的合規性(格式、個數等)
助記詞導入錢包
通過私鑰導入錢包其實和創建錢包的過程基本一致。因為私鑰在導出的時候轉換成了16進制,所以在導入私鑰的時候,要把16進制轉換為byte數組。
keystore就是錢包文件,實際上就是錢包信息的json字元串。導入keystore是需要輸入密碼的,這個密碼是你最後導出keystore時的密碼。將keystore字元串變成walletFile實例再通過 Wallet.decrypt(password, walletFile); 解密,成功則可以導入,否則不能導入。
這是Web3j的API,程序走到這里經常OOM!
具體原因的話,我就不多說了,細節大家可以看這里
https://www.jianshu.com/p/41d4a38754a3
解決辦法
根據源碼修改 decrypt 方法,這里我用一個已經修改好的第三方庫
修改後的解密方法
導入Kestore
1、導入助記詞和私鑰是不需要以前的密碼的,而是重新輸入新的密碼;導入Keystore則需要以前的密碼,如果密碼不正確,會提示地址和私鑰不匹配。
2、關於備份助記詞
用過imtoken的同學可以看到imtoken是可以導出(備份)助記詞的。這個一開始我也很困惑,後來了解到其實它實在創建錢包的時候,在app本地保存了助記詞,導出只是講數據讀取出來而已。還有一點,imtoken一旦備份了助記詞之後,之後就沒有備份那個功能了,也就是說助記詞在本地存儲中刪除了;而且導入錢包的時候也是沒有備份助記詞這個功能的。
2. 以太坊提現到帳了,錢包怎麼還是0
有兩種可能一種可能平台沒有給你打幣,需要咨詢客服。第二種錢包問題未能收到你的體現。我之前在ZB平台提過也出現過這種情況。平台客服說錢包問題,然後給我退回,原來賬戶拉。
3. usdt換eth無效接收方
tp錢包轉換分兩種情況:
1.如果你的usdt在eth錢包,點閃兌,上面選usdt,下面選eth,在usdt邊上輸入你想兌換的數量就可以兌換了。
2.如果你的usdt不在eth錢包,那就要在eth鏈上先創建一個eth錢包,再把usdt轉到eth錢包里(到usdt所在的錢包點閃兌,上面選usdt,下面注意要先選eth鏈,再選usdt),usdt轉到eth錢包後按照第一步操作就可以了。
這些轉換都是需要上鏈的,所以要收取一些手續費。
4. 麥子錢包提幣提示eth余額不足
建議你先從中心化交易平台購買一些 ETH 存放在錢包里當做礦工費,使得錢包轉賬功能能正常使用,一般建議 ETH 不少於 0.01 ETH
麥子錢包是一款集合了各種數字貨幣進行存款的軟體,軟體由互聯網區塊鏈技術製作,用戶添加賬戶上傳身份信息添加數字錢包,錢包由區塊鏈技術加密,用戶相互制約合同,保障數字貨幣安全,在這里軟體同時支持比特幣,NEO,ont,以太坊以及EOSC貨幣加密錢包,以通證系統保證合約,讓數字貨幣管理更安全,同時軟體結合雲技術支持在手機上挖礦,是一款非常便捷的數字錢包管理軟體。
5. 【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刷新一次。
正常情況下,幾十秒內就可以獲取到區塊信息了。
區塊確認數=當前區塊高度-交易被打包時的區塊高度。
6. trust錢包因為沒有ETH幣轉不出,充值銀行不讓沖,現在沒辦法了!求教
目前,國內不允許參與數字貨幣的購買,所以無法進行操作,可以綠通過
7. iOS開發ETH錢包
框架:web3swift => https://github.com/matter-labs/web3swift
1、創建錢包
2、導入錢包
3、獲取余額
4、轉賬
5、調用智能合約
注意:
1、網路的切換
測試網 let web3 = Web3.InfuraRinkebyWeb3()
主網 let web3 = Web3.InfuraMainnetWeb3()
2、轉賬相關的,必須配置
KeystoreManager
TransactionOptions
3、調用智能合約,參數不對,會直接返回nil
8. 關於以太坊錢包區塊數據刪除的問題
之前寫了一篇關於清理以太坊錢包區塊數據的文章( http://blog.eosdata.io/index.php/2017/08/ ),收到一封反饋郵件,所以答復一下
Q 您的文章指出整體刪除chaindata文件夾,那麼刪除以後錢包還能正常工作嗎?還是會自動重新同步區塊數據?同步下來是不是還是那麼大的數據量?
A 刪除後如果再次打開 Ethereum Wallet,軟體會重新同步節點數據。我自己的觀察是新版的 Ethereum Wallet 同步下來的數據比以前的老版本小很多,應該也做了優化,不過重新同步的時間非常長,國內網路一般電腦開24小時才能完成。
Q 另外可不可以只刪除文件夾中早期的IDB文件呢?刪除後影響錢包工作嗎?如果可以,多久之前的才是可以刪除的呢?
A 不行。完整節點錢包,chaindata是不能刪的。
Q 再一個問題wallet錢包和parity錢包哪個更好用呢?parity可以用來創建合約嗎?
A 總體來說 Parity 更好用,同步速度快,針對開發合約更友好。不過Parity也有問題,首先就是沒有官方錢包安全性高,之前內置Multi-Sign錢包智能合約出過漏洞,另外目前的版本對ERC20代幣的操作比較復雜。
9. 【精華】創建最安全的以太坊錢包-ETH錢包超詳細圖文教程
現在的交易所或APP錢包存在很大的安全隱患,因為在它們平台上生成的錢包地址都是在平台伺服器後台中心,是非常不安全的,如果被黑客入侵或者平台跑路你的數字貨幣將不復存在,說說那些被黑客入侵或監守自盜的交易所(幣安2次被入侵,紐西蘭Cryptopia交易所(C網)黑客共偷走了價值1600萬美元加密貨幣,加拿大QuadrigaCX交易所公布了被盜資產的去向,老牌交易所Bitcoinica連續遭遇三次黑客攻擊,太多了不一一訴說了)在說說那些跑路的APP錢包(Angle Token錢包,DOGX wallet錢包,Wo Token錢包,Tokenstore錢包,MGC錢包,Moer Token錢包,Sum Token錢包,DOGX錢包,波點錢包,Coinroom錢包,EOS生態,Super Token錢包,幣管家錢包,包括最大的Plus Token錢包,以上APP錢包跑路或被黑客入侵倒閉用戶數字貨幣化為虛有,因為它們都有後台中心十分不安全)那麼該怎麼辦呢?
不用擔心,最安全的方式就是冷錢包,創建的錢包與私鑰去中心化完全隔絕網路。
我強烈推薦您使用去中心化生成錢包文件+私鑰的錢包: https://www.uutokens.com/
UUtokens錢包功能介紹:
1、UUtokens錢包支持以太坊區塊鏈框架內所有幣種交易,生成錢包文件,錢包文件解鎖錢包,私鑰解鎖錢包,助記詞解鎖錢包
1、貨幣交換:UUtokens與Bity,Kyber Network,Changelly和Simplex合作,提供用戶將幣種交換到加密,ETH和BTC,ETH和ERC-20數千種代幣交換。
2、硬體錢包支持:UUtokens為所有主要硬體錢包提供支持,包括Ledger,Trezor等等。
3、HTTPS加密訪問支持PC與移動讓用戶隨意方便訪問。
4、UUtokens錢包支持主流幣種ETH,EOS,BNB,TUSD,BAT,OMG,LINK,ZRX,包括全球1200多枚代幣。
特別提請生成出來的錢包文件與私鑰一定要多備份,文件與私鑰丟失無法找回
UUtokens官網首頁
創建錢包
訪問錢包
選擇訪問
進入錢包
幣種交換
10. 幣匯系列:如何提幣到錢包
如何提幣到錢包?(以 ETH 提到imToken為例)
第一步:從 imToken 復制 ETH 錢包收款地址。
1.1 在手機上打開 imToken app,點擊幣種列表裡的 ETH。
1.2 然後點擊[ 收款 ]。
1.3 點擊「 復制收款地址 」,復制您的 imToken ETH 錢包地址,然後發送到您的電腦里。
第二步:在 幣匯 賬戶里新增 imToken 的收款地址為提幣地址。
2.1 使用您的個人賬號密碼登錄 幣匯 「 我的賬戶 」,在錢包列表裡點擊 ETH 錢包對應的「 提幣 」按鈕。
2.2 在提幣頁面點擊「 新建地址 」。
2.3 在新建提幣頁面輸入地址標簽。
(地址標簽請填寫您的備注信息,方便您分辨此提幣地址是轉至哪個交易所或錢包。本範例中提幣到imtoken,所以可以直接填寫imtoken。)
然後粘貼您從 imToken 復制過來的 ETH 錢包收款地址,勾選小方框後,點擊「 創建 」按鈕。
2.4 創建成功後請確認您要創建的地址類型是否正確(如:本文以 ETH 為示範,則建立 ETH 提幣地址)。
第三步:在 幣匯 發起提幣申請。
3.1 在提幣頁面點擊「 提幣 」按鈕。
3.2 填寫提幣數量、提幣備注(可選填)、輸入谷歌兩步驗證或者手機簡訊驗證(二選一即可),然後點擊「 提交 」按鈕。
3.3 提交後,出現「提幣請求提交成功,請至注冊郵箱查看提幣確認郵件」。
3.4 登入郵箱,確認信息無誤後,點擊鏈接,即通過提幣申請。
3.5 頁面出現「您已成功確認提幣請求,請等待此筆提幣請求進入系統佇列進行處理。」提示信息。
3.6 您可以在「提幣歷史記錄」中看到相關的詳情。
3.7 提幣到賬後,您會收到郵件、簡訊通知。
恭喜您完成了提幣