init
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { mnemonicNew, mnemonicToPrivateKey } from '@ton/crypto';
|
||||
import { WalletContractV4 } from '@ton/ton';
|
||||
import { mkdirSync, writeFileSync } from 'fs';
|
||||
|
||||
export async function createWallet() {
|
||||
let mnemonic = await mnemonicNew();
|
||||
let kp = await mnemonicToPrivateKey(mnemonic);
|
||||
let contract = WalletContractV4.create({
|
||||
workchain: 0,
|
||||
publicKey: kp.publicKey,
|
||||
});
|
||||
// Create wallets directory
|
||||
mkdirSync('wallets', { recursive: true });
|
||||
|
||||
console.log('Mnemonic:', mnemonic);
|
||||
console.log('Address:', contract.address.toString());
|
||||
// create file with wallet data in readable format
|
||||
const content = `WALLET_MNEMONIC="${mnemonic.join(' ')}"
|
||||
WALLET_VERSION="V4"
|
||||
WALLET_ADDRESS="${contract.address.toString()}"`;
|
||||
writeFileSync('wallets/wallet.env', content);
|
||||
console.log('Wallet data saved to wallets/wallet.env');
|
||||
return { mnemonic, contract };
|
||||
}
|
||||
|
||||
createWallet()
|
||||
.then(() => process.exit(0))
|
||||
.catch((err) => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user