bm-create-enc-payload/index.js

58 lines
3.7 KiB
JavaScript

var messages = require('bitmessage').messages;
var objects = require('bitmessage').objects;
var Address = require('bitmessage').Address;
var TcpTransport = require('bitmessage-transports').TcpTransport;
var eccrypto = require("eccrypto");
(async () => {
const from = Address.fromPassphrase('loremipsum1');
console.log('[check from]', from.encode());
const toAddr = Address.fromPassphrase('gru');
console.log('[check toAddr]', toAddr.encPrivateKey.toString('hex'));
console.log('[check toAddr]', toAddr.encPublicKey.toString('hex'));
console.log('[check toAddr]', toAddr.encode());
const encodedMsg = await objects.msg.encodeAsync({
ttl: 1800,
from,
to: toAddr,
subject: 'Lorem Ipsum',
message: 'hey there!',
skipPow: true,
});
console.log('[check messages]', encodedMsg);
console.log('[check messages]', encodedMsg.toString('hex'));
// const decodedMsg = await objects.msg.decodeAsync(Buffer.from('e9beb4d96f626a6563740000000000000000018c1812a0f6000000000000000000000000638f4616000000020101ff303d6150a6840e7cd10e421a99c9fd02ca00203aa15aeb33c96e34a987030d6d59555fa5d5bfdf1a1a07eb17a676c5719f3ffb0020fe087ea74650ff0ee5b4e2900f815b628bfdc613e157e4ebe063fb20eea6d24b9b7996facd9adc361b1c5c3aa2fab580920eaa757263a89c8fb9a83613672d57a24df0ad2f983823e5f834946221a6edc57b3ee9499ed7546cf5935b4fba88d7fce248c1460ad494e75a987f79791062b58ce07ab4611521ff6ab929e3d5fb54fca74c75960abefa58faa65e1f4b9811e38e352f2073e9e378ae07e3f745fd692cee615b999f8829a1bded21c4488ad087a3e536ef8d679b7b423ec0fa95d6eee3896e52fc9f441d1c9ea4b29c0de78446de58e74d1d05517689f924ff3945cf55fb4775c6501a9bdaaa8b7a0e9b69a5c663b50151f98d065bfcc0a15ef2e7fc94358c7464169fba6bc8363a0208da24f4a83f2c5b5bc5d84d2b7a2daecca873937d305a73bfa3f6e69ef2445f096003b806d932a0da58df5a21716d3af31571'), { identities: toAddr });
// console.log('[decode msg]', decodedMsg);
// const e = 'f93afe35ae8f2927583a11cf1e91718602ca0020c101331d019ec38dca9436f9f192817f5de6095aef2559b7ab4acb704c10b9830020638f3679354140b2755b5e7e2e8d1fba1469508fd59e73250cfdf573c58610f1acc166510db713d5b037d6713a7f9dab544004254420155b953ea3e595b581a2b7b98a59408a5c4af6e10b21814eb02e47b0de7a91f7c6e4322713a1101d04aa41815a171e29c1079dc6a246413458d9fb5ea7259d799f92491873d20fc56c36450811948396ec99544614cf8d78438f7f1abb3848b7dc5fa290ef152302fc545f1cafed8b1146665cbdfb065a389cb9fa43b713d89df28e3b9b90de0e8163a79f710c737167bca9d95d6aca8054c510c07308862588ebed560f5b592878cb4f78ac1f48706c5fa54bee0f5f6b962427e337961eb2b3aba978640e31eec8c05c758151119236f08e827b6602743b23867028fa42e500830f43f8c8dd9702b5af0d0f7ef6cfb2c3fead822bf05ba56ccc88cb8114e7a9df79dd4ca7b414a3c827'; // output from python
// const encPublicKey = '04a60f6cd97ecd16768215ef059ccfbb1840b736bcdb0763872ddfeef4c417d2ec8439383ce68de9a2b30ad44e9f0e56a13fc2895a6e41f7cf3757e46181d32dd0';
// const encPrivateKey = '2cb5ae4e8cf8c71d1221f5c6c46810b448207cacedd86cc52219c3f107048c10';
// const dec = await objects.msg.decPayloadTest(encPrivateKey, e);
// console.log('[dec]', dec);
// var encObj = encrypted.decode(buf);
// resolve(eccrypto.decrypt(privateKey, encObj));
})();
// var tcp = new TcpTransport({
// dnsSeeds: [['bootstrap8444.bitmessage.org', 8444]],
// });
// tcp.bootstrap().then(function (nodes) {
// var remoteHost = nodes[0][0];
// var remotePort = nodes[0][1];
// console.log('Connecting to', nodes[0]);
// tcp.connect(remotePort, remoteHost);
// });
// tcp.on('established', function (version) {
// console.log('Connection established to', version.userAgent);
// tcp.on('message', function (command, payload) {
// console.log('Got new', command, 'message');
// var decoded;
// if (command === 'addr') {
// decoded = messages.addr.decodePayload(payload);
// console.log('Got', decoded.addrs.length, 'node addresses');
// }
// });
// });