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 sender = Address({ version: 2, stream: 1, signPrivateKey: Buffer.from( '93d0b61371a54b53df143b954035d612f8efa8a3ed1cf842c2186bfd8f876665', 'hex' ), encPrivateKey: Buffer.from( '4b0b73a54e19b059dc274ab69df095fe699f43b17397bca26fdf40f4d7400a3a', 'hex' )}), recipient = Address.fromPassphrase('test'); const from = Address.fromPassphrase('loremipsum1'); console.log('[sender]', sender.encode()); console.log('[recipient]', toAddr.encode()); console.log('[recipient enc pub key]', toAddr.encPublicKey.toString('hex')); console.log('[recipient version]', toAddr.version); console.log('[recipient stream]', toAddr.stream); console.log('[recipient ripe]', toAddr.ripe); var encodedMsg = await objects.msg.encodePayloadAsync({ ttl: 24 * 60 * 60, from: sender, to: recipient, message: 'The quick brown fox jumps over the lazy dog.', subject: 'hello', encoding: 2, friend: true, // skipPow: true, }); console.log('[message]', encodedMsg.toString('hex')); var d = await objects.msg.decodePayloadAsync(encodedMsg, { // skipPow: true, identities: recipient, }); console.log('[decoded]', d.message); // 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'); // } // }); // });