From 37f1fff1d219acf2714e834372cba4bf419b4067 Mon Sep 17 00:00:00 2001 From: Sergioaero <116237665+Sergioaero1@users.noreply.github.com> Date: Tue, 27 Aug 2024 03:24:45 -0300 Subject: [PATCH] =?UTF-8?q?corre=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correção no código que não estava gerando endereço da carteira. não só eu mas muitos estudantes estavam com esse erro. --- .../src/createWallet.js | 90 ++++++++++++++++++- .../README.md | 90 +++++++++++++++++++ 2 files changed, 178 insertions(+), 2 deletions(-) diff --git a/Modulo 01 Fundamentos da Blockchain/Curso 01 Introducao a Blockchain/Criando e utilizando a sua carteira de criptomoedas/src/createWallet.js b/Modulo 01 Fundamentos da Blockchain/Curso 01 Introducao a Blockchain/Criando e utilizando a sua carteira de criptomoedas/src/createWallet.js index 26aacef..73b7ead 100644 --- a/Modulo 01 Fundamentos da Blockchain/Curso 01 Introducao a Blockchain/Criando e utilizando a sua carteira de criptomoedas/src/createWallet.js +++ b/Modulo 01 Fundamentos da Blockchain/Curso 01 Introducao a Blockchain/Criando e utilizando a sua carteira de criptomoedas/src/createWallet.js @@ -1,4 +1,4 @@ -//importando as dependencias +/* importando as dependencias const bip32 = require('bip32') const bip39 = require('bip39') const bitcoin = require('bitcoinjs-lib') @@ -30,4 +30,90 @@ let btcAddress = bitcoin.payments.p2pkh({ console.log("Carteira gerada") console.log("Endereço: ", btcAddress) console.log("Chave privada:", node.toWIF()) -console.log("Seed:", mnemonic) \ No newline at end of file +console.log("Seed:", mnemonic) + +*/ + +// CÓDIGO FUNCIONOU PARA MIM 2024 ABAIXO + +// Importing dependencies + +const bip32 = require('bip32'); + +const bip39 = require('bip39'); + +const bitcoin = require('bitcoinjs-lib'); + + + +// Define network parameters for Testnet4 + +const testnet4 = { + + messagePrefix: '\x18Bitcoin Signed Message:\n', + + bech32: 'tb', + + bip32: { + + public: 0x043587cf, // Base58 prefix for xpub on Testnet4 + + private: 0x04358394 // Base58 prefix for xprv on Testnet4 + + }, + + pubKeyHash: 0x6f, // P2PKH starts with 'm' or 'n' + + scriptHash: 0xc4, // P2SH starts with '2' + + wif: 0xef // Wallet Import Format prefix + +}; + + + +// HD wallets derivation path for Testnet4 + +const path = `m/49'/1'/0'/0`; + + + +// Generating mnemonic (seed phrase) + +let mnemonic = bip39.generateMnemonic(); + +const seed = bip39.mnemonicToSeedSync(mnemonic); + + + +// Creating HD wallet root from the seed + +let root = bip32.fromSeed(seed, testnet4); + + + +// Deriving account and generating address + +let account = root.derivePath(path); + +let node = account.derive(0).derive(0); + + + +let btcAddress = bitcoin.payments.p2pkh({ + + pubkey: node.publicKey, + + network: testnet4, + +}).address; + + + +console.log("Carteira Criada por Testnet4"); + +console.log("Address: ", btcAddress); + +console.log("Private Key: ", node.toWIF()); + +console.log("Seed Phrase: ", mnemonic); \ No newline at end of file diff --git a/Modulo 01 Fundamentos da Blockchain/Curso 01 Introducao a Blockchain/README.md b/Modulo 01 Fundamentos da Blockchain/Curso 01 Introducao a Blockchain/README.md index 8b13789..e1944dd 100644 --- a/Modulo 01 Fundamentos da Blockchain/Curso 01 Introducao a Blockchain/README.md +++ b/Modulo 01 Fundamentos da Blockchain/Curso 01 Introducao a Blockchain/README.md @@ -1 +1,91 @@ +* Sergioaero1 - Ótimo repositório + +Entendi bem as partes importantes. na rática tive dificuldades. Pesquisei para encontrar os erros. Consegui um fork de um código funcionando. ele esta um pouco dierente do código desse curso, normal, as coisas atualizaram e oi bom para mim buscar atualização e ver o código funcionando. + +Meu código estava dando erro na linha que deveria gerar o endereço da carteira. + +* SEGUE O CÓDIGO QUE RESOLVEU MEU PROBLEMA 2024: + +// Importing dependencies + +const bip32 = require('bip32'); + +const bip39 = require('bip39'); + +const bitcoin = require('bitcoinjs-lib'); + + + +// Define network parameters for Testnet4 + +const testnet4 = { + + messagePrefix: '\x18Bitcoin Signed Message:\n', + + bech32: 'tb', + + bip32: { + + public: 0x043587cf, // Base58 prefix for xpub on Testnet4 + + private: 0x04358394 // Base58 prefix for xprv on Testnet4 + + }, + + pubKeyHash: 0x6f, // P2PKH starts with 'm' or 'n' + + scriptHash: 0xc4, // P2SH starts with '2' + + wif: 0xef // Wallet Import Format prefix + +}; + + + +// HD wallets derivation path for Testnet4 + +const path = `m/49'/1'/0'/0`; + + + +// Generating mnemonic (seed phrase) + +let mnemonic = bip39.generateMnemonic(); + +const seed = bip39.mnemonicToSeedSync(mnemonic); + + + +// Creating HD wallet root from the seed + +let root = bip32.fromSeed(seed, testnet4); + + + +// Deriving account and generating address + +let account = root.derivePath(path); + +let node = account.derive(0).derive(0); + + + +let btcAddress = bitcoin.payments.p2pkh({ + + pubkey: node.publicKey, + + network: testnet4, + +}).address; + + + +console.log("Carteira Criada por Testnet4"); + +console.log("Address: ", btcAddress); + +console.log("Private Key: ", node.toWIF()); + +console.log("Seed Phrase: ", mnemonic); +