satsterminal-sdk
v1.1.2
Published
A TypeScript SDK for interacting with the SatsTerminal ecosystem.
Downloads
1,705
Maintainers
Readme
SatsTerminal SDK
A TypeScript/JavaScript SDK for interacting with the SatsTerminal ecosystem. This SDK allows developers to integrate SatsTerminal functionalities into their Node.js applications easily.
Table of Contents
Installation
Install the SDK via npm:
npm install satsterminal-sdk
Environment Variables
The SDK requires the TBA_API_URL
environment variable to be set. This variable should point to your API endpoint.
Setting the Environment Variable
Unix/Linux/macOS:
export TBA_API_URL='https://api.yourdomain.com'
Windows (Command Prompt):
set TBA_API_URL=https://api.yourdomain.com
Alternatively, you can use a .env
file in your project root and load it using the dotenv
package.
.env File:
TBA_API_URL=https://api.yourdomain.com
Loading .env
File:
npm install dotenv
In your code:
require('dotenv').config();
Quick Start
Importing the SDK
The satsterminal-sdk
is compatible with both CommonJS and ES6 module systems.
For CommonJS:
const { SatsTerminal } = require('satsterminal-sdk');
For ES6 Modules/TypeScript:
import { SatsTerminal } from 'satsterminal-sdk';
Using fetchQuote
Method
Here's how you can use the fetchQuote
method to fetch a quote based on a BTC amount and a rune name.
Example:
// Load environment variables (if using dotenv)
require('dotenv').config();
// Import the SDK
const { SatsTerminal } = require('satsterminal-sdk');
// Instantiate the SatsTerminal class
const satsTerminal = new SatsTerminal();
(async () => {
try {
// Define the BTC amount and rune name
const btcAmount = 0.01; // Amount in BTC
const runeName = 'RuneName'; // Replace with the actual rune name
// Fetch the quote
const quote = await satsTerminal.newFetchQuote(btcAmount, runeName);
console.log('Quote:', quote);
} catch (error) {
console.error('An error occurred:', error);
}
})();
Replace the Placeholder Values:
'RuneName'
: The name of the rune you're interested in.
API Reference
SatsTerminal Class
The SatsTerminal
class provides methods to interact with the SatsTerminal marketplace.
Methods:
fetchQuote
newFetchQuote(btcAmount: number, runeName: string): Promise<NewOrderSummary>
Fetches a quote based on the provided BTC amount and rune name.
Parameters:
btcAmount
(number): The amount of BTC for which to fetch the quote.runeName
(string): The name of the rune.
Returns:
Promise<NewOrderSummary>
: A promise that resolves to aNewOrderSummary
object containing the quote details.
Example:
const quote = await satsTerminal.newFetchQuote(0.01, 'RuneName');
Examples
Full Example with Error Handling
// Load environment variables (if using dotenv)
require('dotenv').config();
// Import the SDK
const { SatsTerminal } = require('satsterminal-sdk');
// Instantiate the SatsTerminal class
const satsTerminal = new SatsTerminal();
(async () => {
try {
// Define the BTC amount and rune name
const btcAmount = 0.01; // Amount in BTC
const runeName = 'RuneName'; // Replace with the actual rune name
// Fetch the quote
const quote = await satsTerminal.newFetchQuote(btcAmount, runeName);
console.log('Quote:', quote);
// You can now use the quote to proceed with other operations
// For example, generating a PSBT or confirming a transaction
} catch (error) {
console.error('An error occurred:', error);
}
})();
Note: Ensure you have replaced 'RuneName'
with the actual rune name you're interested in.
Common Issues
Error: TBA_API_URL
is not defined
Ensure that the TBA_API_URL
environment variable is set. You can set it in your terminal session or use a .env
file with the dotenv
package as shown above.
Network Errors
Ensure that your application can reach the API endpoint specified in TBA_API_URL
. Check your network connection and firewall settings.