0.1.14 • Published 6 months ago

runes-sdk v0.1.14

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

Runes SDK

A TypeScript and Rust SDK for interacting with the Runes protocol.

Features

  • Hybrid architecture with TypeScript and Rust
  • RPC client for blockchain interaction
  • WebSocket support for real-time updates
  • Market data streaming
  • Trading operations support
  • Type-safe API
  • Comprehensive test coverage
  • Security features and API key management

Documentation

Installation

npm install runes-sdk

Quick Start

import { RunesSDK } from 'runes-sdk';

// Initialize SDK
const sdk = new RunesSDK({
    rpcUrl: 'http://your-node:8332',
    wsUrl: 'ws://your-node:8333'  // Optional WebSocket support
});

// Connect to WebSocket (optional)
sdk.connect();

// Query transaction
const tx = await sdk.getTransaction('your-tx-id');
console.log(tx);

// Cleanup
sdk.disconnect();

Architecture

The SDK follows a hybrid architecture:

  • Core functionality implemented in Rust
  • TypeScript wrapper for ease of use
  • WebSocket support for real-time updates
  • Comprehensive type definitions
  • Built-in security features

Development Setup

Prerequisites

  • Node.js (v16 or later)
  • Rust (latest stable)

Local Development

  1. Clone the repository:
git clone https://github.com/qvkare/runes-sdk.git
cd runes-sdk
  1. Install dependencies:
npm install
  1. Run tests:
npm run test        # Run all tests
npm run test:ts     # Run TypeScript tests
cargo test         # Run Rust tests
  1. Build the project:
npm run build

Project Structure

src/
├── typescript/              # TypeScript implementation
│   ├── api/                # API endpoints
│   ├── services/           # Core services
│   ├── types/             # TypeScript types
│   └── utils/             # Utilities
├── rust/                   # Rust implementation
    ├── api/               # Rust API
    ├── services/          # Core services
    └── types/            # Rust types

docs/                      # Documentation
examples/                  # Usage examples
tests/                    # Test files

Configuration

The SDK can be configured through the configuration object:

const sdk = new RunesSDK({
    rpcUrl: process.env.RUNES_RPC_URL,
    wsUrl: process.env.RUNES_WS_URL,
    network: 'mainnet',
    timeout: 30000
});

Testing

# Run all tests
npm run test

# Run specific test suites
npm run test:ts
cargo test

# Run with coverage
npm run test:coverage

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

ISC License - see the LICENSE file for details

0.1.14

6 months ago

0.1.12

7 months ago

0.1.11

7 months ago

0.1.10

7 months ago

0.1.9

7 months ago

0.1.8

7 months ago

0.1.7

7 months ago

0.1.6

7 months ago

0.1.4

7 months ago

0.1.3

7 months ago

0.1.2

7 months ago

0.1.1

7 months ago

0.1.0

7 months ago