README
🛠️ AcentJS
AcentJS
is the official Javascript SDK for interacting with AcentVM. See github.com/acentswap/acent-js for information.
Installation
Install AcentJS:
yarn add @acentswap/acent
# Or
npm install --save @acentswap/acent
Usage
Usage is described in the Getting Started Tutorial.
AcentVM network information
const AcentJS = require("@acentswap/acent");
const acentJS = new AcentJS();
// Print available methods
console.log(acentJS.acentVM);
// Query fees
acentJS.acentVM.queryFees().then(console.log);
Bridging BTC to Ethereum
This assumes window.ethereum
is available (e.g. in a browser with MetaMask installed).
See hdwallet-provider and infura.io if you are using AcentJS using Node.js instead of in a browser.
import { Bitcoin, Ethereum } from "@acentswap/chains";
import AcentJS from "@acentswap/acent";
import ethers from "ethers";
const mint = async () => {
await window.ethereum.enable();
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();
const address = await signer.getAddress();
const lockAndMint = await new AcentJS("testnet").lockAndMint({
asset: "BTC",
from: Bitcoin(),
to: Ethereum(provider.provider).Address(address),
});
console.log(`Deposit BTC to ${lockAndMint.gatewayAddress}`);
lockAndMint.on("deposit", AcentJS.defaultDepositHandler);
};
mint().catch(console.error);
Bridging BTC from Ethereum back to the Bitcoin chain
import { Bitcoin, Ethereum } from "@acentswap/chains";
import AcentJS from "@acentswap/acent";
import ethers from "ethers";
const burn = async () => {
await window.ethereum.enable();
const provider = new ethers.providers.Web3Provider(window.ethereum);
const value = 2000000; // sats
const burnAndRelease = await new AcentJS("testnet").burnAndRelease({
asset: "BTC",
to: Bitcoin().Address("miMi2VET41YV1j6SDNTeZoPBbmH8B4nEx6"),
from: Ethereum(provider.provider).Account({ value }),
});
await burnAndRelease.burn();
await burnAndRelease.release();
};
burn().catch(console.error);
Developer notes
Building
yarn run build
# or watch, to rebuild on new changes:
yarn run watch
Running tests
See ../test.