This repository has been archived by the owner on Oct 21, 2023. It is now read-only.
forked from multiversx/mx-deprecated-core-js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
36 lines (27 loc) · 1.6 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'use strict';
const BigNumber = require('bignumber.js');
const account = require('./src/account');
const transaction = require('./src/transaction');
const receiver = '53669be65aac358a6add8e8a8b1251bb994dc1e4a0cc885956f5ecd53396f0d8';
// Build a fresh account
const sk = 'ZjdhMDNhNDczNjYyZjA2NzczZDA0OTIyZWNkODc4MWZlYTE2ZmVmNTQzNTMxODI4MTQ0ZjE0YTk2ZmFmNTYwNg==';
// Build a fresh account
const senderAcc = new account();
const hexSk = Buffer.from(sk, 'base64').toString();
const hexPrivate = Buffer.from(hexSk, 'hex');
senderAcc.loadFromSeed(hexPrivate);
// Transaction with gasPrice, gasLimit, Data
const myNewTx1 = new transaction(0, senderAcc.address(), senderAcc.addressFromHexPublicKey(receiver), "999", 10, 100000, "!!!!!", "chainID", 999);
const txBeforeSigning = myNewTx1.prepareForSigning();
myNewTx1.signature = senderAcc.sign(txBeforeSigning);
console.log("tx with signature from an account loaded from the older version plain private key: \n",
JSON.stringify(myNewTx1.prepareForNode()));
const senderAcc2 = new account();
const mnemonic = senderAcc2.generateMnemonic();
console.log("generated mnemonic: \n", mnemonic);
senderAcc2.loadFromMnemonic(mnemonic);
const myNewTx2 = new transaction(0, senderAcc2.address(), senderAcc2.addressFromHexPublicKey(receiver), "999", 10, 100000, "!!!!!", "test chain ID", 999);
const txBeforeSigning2 = myNewTx2.prepareForSigning();
console.log('tx before signing: \n', txBeforeSigning2.toString());
myNewTx2.signature = senderAcc2.sign(txBeforeSigning2);
console.log('tx with signature from an account loaded from a mnemonic phrase: \n', JSON.stringify(myNewTx2.prepareForNode()));