1.0.2 • Published 1 year ago

bsv-test-10 v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

BsvWallet ⚡🔑

A simple Bitcoin SV wallet library

  • can work offline ✅
  • enable peer to peer transactions ✅
  • follow the whitepaper ✅
  • browser friendly ✅
  • autocomplete in js and ts files ✅
  • HD Private Keys at 0 technical cost ✅
  • ❤️ easy to use ❤️

How to install

npm i bsv-p2p-wallet

How to import

Typescript

const { PeerToPeerWallet } from "bsv-p2p-wallet"

Javascript

const { PeerToPeerWallet } = require("bsv-p2p-wallet");

How to use

Create or Import a wallet

Import with a mnemonic

const myMnemonic = "awkward will execute giant ...";
const wallet = new PeerToPeerWallet({ key: myMnemonic });

Import with a seed string

const seed = "Kwn6yDoKobVjH2dqa9UZ4c5yXfUQQo6PxdQ...";
const walet = new PeerToPeerWallet({ key: seed, keyFormat: "string" });

Create a new Wallet and get the mnemonic

const wallet = new PeerToPeerWallet();
const myNewWalletMnemonic = wallet.mnemonic;
// to save it into a file
require("fs").writeFileSync("private.key", myNewWalletMnemonic);
// or into localStorage if your are into a web browser
localStorage.setItem("key", myNewWalletMnemonic);

Create a new wallet and get your wallet Address

const wallet = new PeerToPeerWallet();
const createWalletAddress = await wallet.createWallet();

console.log(createWalletAddress); // "1BrdwqTosre3x6hiLpkgtbeZMa...."

Get wallet balance from wallet address

const wallet = new PeerToPeerWallet();
const balanceInSatoshis = wallet.getBalance("1BrdwqTosre3x6hiLpkgtbeZMa....");

console.log(balanceInSatoshis); // 4

Initiate IndexedDB to save transactions

const wallet = new PeerToPeerWallet();
const initIndexedDb = wallet.initIndexedDb(idb);

/*idb is an window object
  const idb =
    window.indexedDB ||
    window.mozIndexedDB ||
    window.webkitIndexedDB ||
    window.msIndexedDB ||
    window.shimIndexedDB;/*

Sign a tx for your friend and send Bitcoin

const senderWallet = "1BrdwqTosre3x6hiLpkgt......";
const receiverWallet = "12qdvBirkFhAX8yH2kbsJWqdo......";
const sendBitcoinQuantity = 4;

const wallet = new PeerToPeerWallet();
const sendBitcoin = await wallet.sendBitcoin(
  senderWallet,
  receiverWallet,
  sendBitcoinQuantity
);

Decode all signed Transactions for wallet address

const wallet = new PeerToPeerWallet();
const walletAddress = "1BrdwqTosre3x6hiLpkgt....";

const allTransaction = await wallet.decodeAllTransactions(walletAddress);

Get all exisiting signed Transactions of receiver wallet address

const wallet = new PeerToPeerWallet();
const receiverWallet = "12qdvBirkFhAX8yH2kbsJWqdo......";

const existingTransactions = await wallet.getExistingTransactions(
  receiverWallet
);

Dev note