Skip to main content
This guide demonstrates how to create, sign, and broadcast a transaction using the Adamik API along with the common Bitcoin library, bitcoinjs-lib. This tutorial is perfect for developers who want to integrate Adamik’s features into their Bitcoin workflows, ensuring secure and efficient transaction management.

Prerequisites

  • Node.js and npm installed
  • Basic understanding of Bitcoin and transaction workflows
  • Familiarity with the bitcoinjs library

Step-by-Step Guide

1. Setting Up the Environment

Ensure you have the bitcoinjs library installed in your project:
In this example, we’ll start with just the mnemonic and derive a typical HD wallet. For that, we’ll require bip32 and bip39 libraries:
Finally, because we’ll be using deriving a Taproot account for this example, you’ll also need a elyptic curve cryptographiy library (ECC):

2. Writing the Script

https://github.com/bitcoin/bips/blob/master/bip-0086.mediawiki Below is the script that handles the full transaction flow, from creating a wallet to broadcasting the signed transaction. You can find the complete code example in the Adamik GitHub repository.

3. Explanation

  • Wallet Creation: The script begins by creating a wallet using a mnemonic phrase, which is crucial for managing private keys. Please note Adamik API doesn’t have the custody of the assets.
  • Transaction Encoding: The transaction details are passed to the Adamik API, which translates them into a raw transaction to be signed.
  • Signing and Broadcasting: The transaction is then signed with the wallet’s private key and finally broadcast to the Bitcoin network using the Adamik API.

4. Troubleshooting

  • Invalid API Key: Ensure your Adamik API key is correct.
  • Network Issues: Verify network availability and Adamik API status.
  • Security Note: Never hardcode sensitive information like mnemonic phrases in your production environment.

5. Get in Touch

Connect with us through our Discord Server or directly through GitHub.