bm-create-enc-payload/index.js

74 lines
2.6 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 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');
// }
// });
// });