看板 DigiCurrency 關於我們 聯絡資訊
這篇文章會完整描述我研究的過程, 如果想直接看程式碼, 可以直接跳到【mainnet發送】。 【起因】 文章代碼#1T66Qw6Y (DigiCurrency), 由於第一次發錢使用Trinity Wallet, 當時不曉得發送出一筆交易後,要再發送下一筆交易, 需要等待前一筆交易確認才能成功發送, 雖然只有40筆左右要發,但以平均每筆交易需要花費10分鐘來算, 這次發送總共費時約6個小時左右。 【求解】 在Discord尋求有沒有使用Trinity Wallet同時向多人發送IOTA, 而且不需等待前一筆交易確認的方法, 得到了可以使用執行script的方式: https://docs.iota.org/docs/iota-basics/0.1/how-to-guides/send-bundle 【嘗試】 文件最下方有個「Run the code」,可以在網頁上直接執行script, 預設的script是在devnet一次發送兩筆交易資訊。 那如果要不透過網頁在你自己的環境執行呢? 文件有提到基本環境需要: ‧Node.js 8, or Node.js 10 or higher. We recommend the latest LTS. -> 可以到這下載安裝https://nodejs.org ‧A code editor such as Visual Studio Code -> 可以到這下載安裝https://code.visualstudio.com ‧An Internet connection -> 呃...這項我就不解釋了XD 環境準備完後,就可以開啟Visual Studio Code, https://imgur.com/xkranvh 首先,創建一個資料夾來放置相關的程式碼File -> Open Folder, 我選擇放在路徑C:\IOTA\Dev, https://imgur.com/1PjZLOF 然後創建一個檔案如SentBundle.js, https://imgur.com/8ktFQVb 把文件上的程式碼複製貼上並存檔, https://imgur.com/hGszYjZ 然後執行這段程式Terminal -> New Terminal, 輸入「node SentBundle.js」執行, https://imgur.com/UdzCmTX 會出現錯誤訊息Cannot find module '@iota/core', 這表示還沒裝client library,所以出現這樣的錯誤訊息。 https://imgur.com/4J6B1N9 文件有提到, https://imgur.com/au6OlBO 所以跟著指引, https://docs.iota.org/docs/getting-started/0.1/tutorials/get-started 找到安裝client library的指令「npm install @iota/core」,執行他! https://imgur.com/CX1kNMf 安裝完成後再次執行剛剛沒成功的「node SentBundle.js」, 喔不,又出現了錯誤訊息certificate has expired, https://imgur.com/mER3S0z 沒事沒事,這應該是節點的問題,換個節點, 將第8行改為provider: 'https://nodes.devnet.thetangle.org:443/', 再執行一次「node SentBundle.js」, https://imgur.com/eL1tKKw 太好了,發送成功! 可以用https://devnet.thetangle.org查詢剛剛發送的Bundle。 https://reurl.cc/LkRo9 【mainnet發送】 在devnet發送成功了, 那開始在mainnet上發送吧! 直接看程式碼吧! https://pastebin.com/NxGGAf67 主要重點是95行的sendTrytes的第3個參數minWeightMagnitude(最小權重大小), devnet為9,在mainnet為14,如果這個數值跟devnet一樣設9,則在mainnet會發送失敗。 我還有改寫了官方文件上的一些code, 因為官方文件的寫法要發送大量交易會比較麻煩。 第10行provider是放節點的URL, 第13行seed是放你的種子, 第19行recipientAddressArray是放要接收IOTA的地址,有效地址為81碼, 使用Trinity Wallet產生的地址會有90碼,最後9碼為checksum可以直接去除, 上面那些地址是在我第二次發錢時蒐集的地址, 文章代碼#1T9g5jzb (DigiCurrency), 測試時要發錢給他們,我想他們應該也會很樂意地收下XD。 然後這邊的重點還有一個,就是節點的選擇, 當時在發錢使用https://nodes.thetangle.org:443, 得到了錯誤訊息Unhandled rejection Request error: Too Many Requests, 在https://iota-nodes.net找了幾個節點試試, 後來使用http://207.180.224.65:14265發送成功! https://imgur.com/hwNWJrL 可以用https://thetangle.org查詢剛剛發送的Bundle。 https://reurl.cc/vZrok 以上,希望對各位有幫助, 若有錯誤或觀念上的不正確, 歡迎下方留言:) IOTA還錢! 歡迎斗內IOTA QFDDKQMMTNXXGKNRZUOES9HVLSYGILRBHUQGRVJEKRUAZOUDWK LXVMCLAIGS9BNBDSPQAKYCWWBUGOOMXSHCD99GMB https://imgur.com/63hLixo simpleledger:qpl00gxv2x5ddf50w9zxx4lamd5ecz5k7s54fqx3kn -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.185.30 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1563443040.A.08A.html
b24333666: ㄊㄨㄟ 07/18 17:46
b24333666: 推 07/18 17:47
poorviv: 推 07/18 17:53
a23962787: 推 難怪我剛剛收到訊息 07/18 17:58
jorden: 推 07/18 18:19
remia81: 推 07/18 18:40
jixian: 推 ,但是看到iota就一定推要還錢 07/18 19:02
lolo0856: 推技術文 估計10星 07/18 19:09
※ 編輯: ARAMonly (220.133.185.30 臺灣), 07/18/2019 19:17:12
dryden: 推 07/18 19:20
※ 編輯: ARAMonly (220.133.185.30 臺灣), 07/18/2019 19:35:54
DarkerDuck: 978字 * 10星 = 9780 PCH 07/18 20:21
DarkerDuck: https://tinyurl.com/y46govog 07/18 20:24
DarkerDuck: 目前看起來真的要大規模打賞最實用的還是BCH 07/18 20:25
DarkerDuck: 一秒發25筆沒問題,或是一次一百人,手續費也是沒感覺 07/18 20:25
DarkerDuck: https://tinyurl.com/y4vpp9xr 07/18 20:26
Q8i: 技術文推! 07/18 21:53
Q8i: 文組表示看的很辛苦XD 07/18 21:53
AtsuHiro: 推 好文 07/18 22:18
itsdelovely: 推 07/18 22:22
wlo3176844: iota還錢 07/19 00:27
john371911: 不明覺厲推。 07/19 01:27
camellala: 認真優文,推 07/19 01:41
MIN945: iota還錢~ 07/19 06:44
leftc: 推技術文,有考慮做自動reattach或promote嗎XD 07/19 15:07
ARAMonly: 官方文件有現成的 07/19 19:37
ARAMonly: https://reurl.cc/yqr4l 07/19 19:38