作者ARAMonly (咆啸深渊)
看板DigiCurrency
标题[闲聊] IOTA如何有效率地发钱:Send Bundle
时间Thu Jul 18 17:43:47 2019
这篇文章会完整描述我研究的过程,
如果想直接看程式码,
可以直接跳到【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://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1563443040.A.08A.html
1F:推 b24333666: ㄊㄨㄟ 07/18 17:46
2F:→ b24333666: 推 07/18 17:47
3F:推 poorviv: 推 07/18 17:53
4F:推 a23962787: 推 难怪我刚刚收到讯息 07/18 17:58
5F:→ jorden: 推 07/18 18:19
6F:推 remia81: 推 07/18 18:40
7F:推 jixian: 推 ,但是看到iota就一定推要还钱 07/18 19:02
8F:推 lolo0856: 推技术文 估计10星 07/18 19:09
※ 编辑: ARAMonly (220.133.185.30 台湾), 07/18/2019 19:17:12
9F:推 dryden: 推 07/18 19:20
※ 编辑: ARAMonly (220.133.185.30 台湾), 07/18/2019 19:35:54
10F:推 DarkerDuck: 978字 * 10星 = 9780 PCH 07/18 20:21
12F:→ DarkerDuck: 目前看起来真的要大规模打赏最实用的还是BCH 07/18 20:25
13F:→ DarkerDuck: 一秒发25笔没问题,或是一次一百人,手续费也是没感觉 07/18 20:25
15F:推 Q8i: 技术文推! 07/18 21:53
16F:→ Q8i: 文组表示看的很辛苦XD 07/18 21:53
17F:推 AtsuHiro: 推 好文 07/18 22:18
18F:推 itsdelovely: 推 07/18 22:22
19F:推 wlo3176844: iota还钱 07/19 00:27
20F:推 john371911: 不明觉厉推。 07/19 01:27
21F:推 camellala: 认真优文,推 07/19 01:41
22F:推 MIN945: iota还钱~ 07/19 06:44
23F:推 leftc: 推技术文,有考虑做自动reattach或promote吗XD 07/19 15:07
24F:→ ARAMonly: 官方文件有现成的 07/19 19:37