Advertisement
skhuang

IOTA Send Bundle

Jul 18th, 2019
605
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // 參考文件:https://docs.iota.org/docs/iota-basics/0.1/how-to-guides/send-bundle
  2.  
  3. // Require the IOTA libraries
  4. const Iota = require('@iota/core');
  5. const Converter = require('@iota/converter');
  6.  
  7. // Create a new instance of the IOTA object
  8. // Use the `provider` field to specify which IRI node to connect to
  9. const iota = Iota.composeAPI({
  10.     provider: '這邊放節點URL'
  11. });
  12.  
  13. const seed = '這邊放你的seed';
  14.  
  15. // 發送IOTA值,單位i
  16. var sentValue = 0;
  17.  
  18. // 接收的地址,有效地址為81碼,使用Trinity Wallet產生的地址會有90碼,最後9碼為checksum可以直接去除。
  19. var recipientAddressArray = [
  20.     "FJGRWBFSSVPZJLPZYYFOEHYKSFGSVHNTFIHNXRHGHGWSXSDBVPHOVGRHBIIHQIOLBSOMFXTIZFOEOHMO9",
  21.     "CJMDUGKGXZSDRNNOFVPXZMSOIYKZGEZCYWBFPMLYQYGJUZWQYGADGKWEKO9OLBOOZPGURRESIHLZPWLBC",
  22.     "CAPPVVCIXMCTWLTBMVUBULEUUMWTRIGXUFV9KJHUXYDWFDTJODNRKSKSFRMWVNRZLDWBCZWOFFMKSZWHD",
  23.     "NLON9ETWKOIAVXMQTKNCVBHXGFKHL9LKCB9SCVNYHTYX9VALRWZV9IWIRHWPUPVOG9PIAKTFVCLRCXCRB",
  24.     "VLTFJQ9SARCBACMNKBLMLEIRMXLATFPTQ9TUDNTPGTGOQUSFSZJDIPTAPPMVXSANHSUI9LKB9QKGQKQRZ",
  25.     "XIYMEDUESAJZJWFZHPTX9SFVOMQBQYINRZQHOSVWOZANDWNTCYX9WJSIKJZVFDXLVKJQSEXPCVFEPRFWB",
  26.     "IAPYOYTGXGSZQDQGMQOEABLHON9NNHMMJZUWPEURTSWTMCNOPUTOKRPHZYNIVWOXRLXZMBXAVUIDGOXKZ",
  27.     "DLBXGKUYW9NF9ORXQCDDOIAZKVCUBEWZMZVPXSWAWMQCPVJTZZQDPKOZKRDYUORROOCOCNEYDHC9SMG9X",
  28.     "RRBCBSTCOGEHLLMVFUVTMCMWUDLUQKIBMDRBSEVWBVJMLOISESTZDKIJJVIIYXAKIE9WNRBDQNBZQWEGD",
  29.     "MLL9ENKGMNMCRMZUMTVO9PTG9JOYLG9GNXJGYXSDWQIYUP9LJYNGPKSNHJGHTFMWCNHDGYQALSX9QBLMC",
  30.     "VXYBHRUI9MOWRHWGRUJKLEYNBVHLXDQRZENSVQDLMWSXDYDPHOKKTPZDSFDVUDITMURAFDZGXNDQOSRFX",
  31.     "GVLRTPOMV9CSGGTQAUXNTKIMAGZOZMVMNCFRJOY9VPLYCCYMUDNZOPJP9ARZPNTLKTPXTJWOZJUFGULED",
  32.     "ITLWVCZRJGMEAD9W9UNXUXRNNDAPSMRWNGSCUBEZAEHJONQVRKJINFOLKNNOOSCVPWZID9ZLSIUTJUXE9",
  33.     "CVKRSXSXIVKWSWLUDVSGUGQOLNDLTLCJ9YCSBTARVFWNYWYBVEVBOCBAYEJMZSBBVYDZHSGVHMMWGSBYD",
  34.     "VQLNIQAGG9BIJQXXWPNKEIDABKHBTLYOCTRONHVUYXHCAPCFTFRKTNVDJMLYMS9YBMRHJJNKCYFAKFNCD",
  35.     "ATNBMIHRNBCLOJTKBORCKTEXMBPFBPQOMBGWCHGEZIUALHHFYTDORRYUNHFRNHJOD9XGFQ9DKXOKEX9VZ",
  36.     "TUU9LDNBFQGZPDNKQUZVPFODHSIQA9ZQLBXKNNINPZDFMIJTEEHFEJOZWNHWNUHEJVYHFQHPVXOESGKLC",
  37.     "CJY9SBRVTIHAZGAHW9VVPMNEBYNUPHEIWQRUOLWJJIRDCSZJAVHMTEGFTWYTRITR9JUCICYLGCDCDNVBA",
  38.     "DDZ9KXUGXFLGPSVGBNZIMVWXHMLHJFPJRHPNZGYVAVIQEBZRPNIWDGZYUZGDJVEUXURVMNMROQGFVWGA9",
  39.     "XGHADMAKRQRAYPXPZTOGUKTKIKRFSQUWVU9S9ZTLZZBICKHKLYFYVEEQIDCUESHTWMCLWJHOEUSTFCJRW",
  40.     "BCRRKTSYYH9SWQUHBAMNNQMVOJWXZQJTQTQMMJKXOVGMUGNPDBUWGDHKPUVXFCTUQGASU9N9JTCWBEBOW",
  41.     "RSZXGZCLAQUOGTWOCXJVBMPSMNISJJNQSKXPSVGOEMZHFONRYFDGCGVLOXCRIZLHODFVQDMSX9AONUZFW",
  42.     "ZAEJIGWVJWQKNKVLBP9WBVOWQEZWUFQJHFNPSAFUNKDRGAOBKUOHUOOOZZZFPFCUBBAQCLWAN9V9YFZTA",
  43.     "9SODHSTRBJDKWTKY9LPPZWHGTNWLTLKUUBJAFTUXM9NBIAOIGQSX9QANFJALEJSAGKENTNMIIXSJJHZEB",
  44.     "NFUXLUWZRYADL9NNUSAJQJKLQHGWGOLWBY9XEQDBSNM9ERVGJKFNXQ9ERRDKGZYAUVYHITSGWFEUYFHUC",
  45.     "GEBVXTERYJ99IAQPABRZUBRWEFTXY9DNNXBUUKUHMW9OJQQJZNTEAOGXJKGERMIRQUKDOTMGNXGZAAGZB",
  46.     "KLFLCPLFGLDLVVULGPDQUQRUOTH9AVEUXPFAYCKHCHJ9U9ULWEKJQGM9HKZOLPHHHOOYLU9UA9RTXWSHY",
  47.     "VOFHKQTELOZTXLTEKRQM9J9ZLLHGBMCD9LRBSTO9SCGJOQXOFZGHIVWFQGCKXOLSJJNCW9VF9OPDETDRX",
  48.     "XWMGGTTOP9FJTFFDZHXLAVEDGFSVZE9BBXECMWJKNSJPOFRUFPJJSGRGXBZLXH9AW9ONBCCTJYTJ9SEAC",
  49.     "KTSIOENADATDNUTLNILQQLR9IVWTUZXSUE9YMTLHHAXERWMPGFLOIFVZCHFIDRBWPNGATZ9NASPRPCKAX",
  50.     "YMUTDYKMDLKSOPPGFZPHHENQFVRZLPBFMFFBTRJQMEWUPDFJSIBNHQQEFKRBMKMIEJMT9VZEZPCXNQRVD",
  51.     "HSKGGSJXLPNKEOQEULEUAQJEIGLLVYZMVBCDHSROBYZAEDALTXIB9WYOFL9BIPEGFVCNYHOOSOMVN9L9W",
  52.     "GZHDNQIB9ABRTRDVHXI9WASIAOUIUKWLCDKCCCJXDINUEDUDLAWV9ZKFKPWBOHCETZZHAJPALWXLWKOLD",
  53.     "TQYXIAXWMJGKAQXEFVKDNABILDIOEDVIXPRCPVWOUMXAVCFHHUVZPUFZBKSKIXLWPXJN9TWYFYVIQCATW",
  54.     "LQTTYDCUOPSQMJGX9IDXGGAASQMDKOVQVXYSFKUXZMRPCELEWPYMSMUVEFOBAJPPAADACJTMKYEYD9OZX",
  55.     "NWIODIHCGUMTOAETFYLFHLKPSRKFFOEMJSUHHJJOQEFBHAA9OEKCOUWXJRQOBSGCVEWXFZWTTHZYU9DOB",
  56.     "EOHUYDMTXHCCIIFKTAOMBEUGQKGATCQWHD9UNHHGBJ9ETFJWABCDWB9PBSLBPGCXZCRCZMRXAYRPXCHYW",
  57.     "OSKEUCEPKWWLFEKMRXFJYTJYSIZGXQCBLRTCJZQNOEIYFOZKMRBFBBEKTEJNNSZAQIZEDVCWOZZQCLYIB",
  58.     "KGQBUDMRQOENXBIWYDOZKDYLYBEFEPOPIWUIDRXFQXOTFPZNOXHETHXYRCBIGADRNLHJQVDVLQZW9JKBC",
  59.     "HJUGQJJYPINTUKZ9KHIOJJPTYKARCNOPSFIQQXJJEEFK9FORJISFSSXOTPXXZNSXPLZJSSQAKYNKJVCNC",
  60.     "NBRGZSYGASQ9WCUEETHCLPYLBEJAPMHVJZJ9TUACETGBQSAQRTPNPFPNQDAALTYEIIOUFY9HZYJZIOYGC",
  61.     "PTDFUXZJHXGFMKJY9ITDIGKNNFILRHDOSQHFWGNM9ZDZYHUHVGQEKPZXTBLQ9SAOIPTJE9MZWLTFOGQCW",
  62.     "CVTZDISGSXWJFKKJLKXX9XHIMW9HYNVA9PQJFSDLUJDBLHXUSLRTSLZHQOY9CRJAGEZGLUB9FBGLDHWMX",
  63.     "TPCQLZGFBPBQOUGUNLPHLNXNXGUXBGJOMUB9LQKYUUSZ9ULFVTSNETCAQIOLKXZPFZLVOOJJIAUR9UEAW",
  64.     "QSEMKDYGCTIRFUYYIJRYYBT9HYFLADNRGGVHGPQKESJ9XMHKUDZFYEFWZOWEFNLBUHNOZAYKAYJQ9OMHC",
  65.     "TPCQLZGFBPBQOUGUNLPHLNXNXGUXBGJOMUB9LQKYUUSZ9ULFVTSNETCAQIOLKXZPFZLVOOJJIAUR9UEAW",
  66.     "FT9ODRDGVEPBTXVKF9WTCYLCB99VDXGXHPL9JNB9UMWGZPZGFXCGSICVNAIDMQSZBUQJI9UQTHZUNFQBD",
  67.     "9FBCIUYIIFKLTZPBIESOFEGPBIQHCCBMEXKHRYZOFXEHQNJQNNB9MXTFWHQFCJOQYALIOAHDPQCQKWC9C",
  68.     "VSUFFQBBNUOIRB9NZLKLYTUKJJCSAIWPTMCMIKLSJXKLPBE9GMOHFZKLKLKQNWMYNTWCITVQOGQQYHBKX",
  69.     "OSCRYEWG9PCKUDFHGOVYKOWJ9QXGJQLSBURRSBOLPBMNYY9RZRFPCIFCJMQFTARH9Q9NXWCVMKNDIDVNZ",
  70.     "TKOPSROMBWPO9VUUUAMJWVSTDLDJMHWDONCPGPPBWOTYAVHODPMHWRJTHNAPGOXLCIXQUGRQNIDLWYEHA",
  71.     "MVHNPTJHVDQOWHCLHVBMOLSOVBSZVAUIYYEXHQEIUWHRHGHEIU9NVCVTJVHSWITVZMZIMSBDM9RLERVBC",
  72.     "JKZJXEDSUXORAHJEBAZYSYFVULXTQDFOYK9SQOVDBBRGVUEMJEJEKNGCPOJXCOXXDAOXVOMXJYRVBXHUX",
  73.     "ALUWQWGIKFCBYRDX9BJXKK9TBXLBBLLJKXFRCXBAPPUPFMITFRGLHNDNAGVTLGM9OYHFIPJYYWRSVGASC",
  74.     "GNKADGSCQEEPUVVZIUESEDIJXUHDKIONKYOCATYNTJZNIICLOZPAAXFFNYBKYMDQMMOJNMXOAQTXUSTPD",
  75.     "FDALUMKITFWEEQC9MRAJNLMHWJUIOU9ESRVTHB9ZMYSXGHWXISIHIATEXLGDYRKLFGHZLDL9TMUIHZASW",
  76.     "GRNOHMMQDNKOVWRWIINRMMSNTMFAWOQTMRIIKXBONWSUNOGRLKXASYWZWPHFOUFZ9AYDCEKWBNKBSUHU9",
  77.     "CGQVZUHGHDEFJDJATJAWTS9LIA9DVYS9BPAIBQBOOAAON9SQMTTUTRPANXAORSWCIWMVYOBVRFOUFVYO9",
  78.     "GZFB9PISUKXLWULVQVVJOYOPKIPRLBSVLTXHDMRATIRFFOOWAMZETSIDRTZ9NIFJPPL9BPJBLZEGLVQIY"
  79. ];
  80.  
  81. // 將所有地址跑過一遍,把組合的交易資訊放進transferArray陣列中
  82. var transferArray = [];
  83. recipientAddressArray.forEach(function(address, index) {
  84.     transferArray.push({
  85.         'address': address,
  86.         'value': sentValue,
  87.         'tag': 'IOTAGIVEMEMONEYBACK',
  88.         'message': Converter.asciiToTrytes('IOTA give me money back - ' + (index + 1) + '/' + recipientAddressArray.length)
  89.     });
  90. });
  91.  
  92. // sendTrytes的第3個參數minWeightMagnitude(最小權重大小),devnet為9,在mainnet為14。
  93. iota.prepareTransfers(seed, transferArray)
  94.     .then(function(trytes){
  95.         return iota.sendTrytes(trytes, 3, 14);
  96.     })
  97.  
  98.     .then(results => console.log(JSON.stringify(results, ['hash', 'currentIndex', 'lastIndex', 'bundle', 'trunkTransaction', 'branchTransaction'], 1)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement