Rune Launchpad(Users can claim rune tokens)
Before running the script, ensure you have the following dependencies installed:
bitcoinjs-lib
ecpair
@bitcoinerlab/secp256k1
axios
runelib
cbor
You can install them using npm:
npm install bitcoinjs-lib ecpair @bitcoinerlab/secp256k1 axios runelib
Ensure you have a .env
file in your project root with the following variables:
PRIVATE_KEY=<your_private_key>
MNEMONIC=<your_seed_mnemonic> (optional, if using SeedWallet)
-
Initialize ECC Library: The script initializes the ECC library using
initEccLib
frombitcoinjs-lib
. -
Wallet Setup: The script supports two types of wallets:
SeedWallet
andWIFWallet
. Currently, theWIFWallet
is used. -
Create Etching: The
etching
function is the main function that creates the recursive ordinal. It involves the following steps:- Define the HTML content to be inscribed.
- Create an inscription object using
EtchInscription
. - Define a Taproot script with the inscription and the wallet's public key.
- Generate a Taproot address and wait for UTXOs to be funded to this address.
- Create a Partially Signed Bitcoin Transaction (PSBT).
- Add inputs and outputs to the PSBT.
- Sign and broadcast the transaction.
-
Broadcast Transaction: The
signAndSend
function handles the signing and broadcasting of the transaction. It supports both node environment and browser environment.
-
Initialize ECC Library: The script initializes the ECC library using
initEccLib
frombitcoinjs-lib
. -
Wallet Setup: The script supports two types of wallets:
SeedWallet
andWIFWallet
. Currently, theWIFWallet
is used. -
Minting with Taproot: The
mintWithTaproot
function is the main function that mints Runes. It involves the following steps:- Define Runes to be minted.
- Create a Runestone with the specified Runes.
- Tweak the signer for Taproot key tweaking.
- Generate a Taproot address.
- Wait for UTXOs to be funded to this address.
- Create a Partially Signed Bitcoin Transaction (PSBT).
- Add inputs and outputs to the PSBT.
- Sign and broadcast the transaction.
-
Broadcast Transaction: The
signAndSend
function handles the signing and broadcasting of the transaction. It supports both node environment and browser environment.
Make sure you have the following dependencies installed:
bitcoinjs-lib
ecpair
@bitcoinerlab/secp256k1
axios
cbor
runelib
You can install them using npm:
npm install bitcoinjs-lib ecpair @bitcoinerlab/secp256k1 axios cbor runelib
- The script is configured to work with the Bitcoin testnet.
- Ensure that you have testnet coins available in the provided private key.
- Adjust the fee and other parameters as needed.