Skip to content

keygate-io/sdk

Repository files navigation

Internet Computer portal GitHub license

sdk

A Rust SDK for Keygate, allowing developers to create their own multisignature infrastructure on-chain or off-chain.

Architecture

block-beta
  columns 1
    block:SDK_LAYER
      rust["Rust API<br/>Native Interface"]
      python["Python Bindings<br/>PyO3 Integration"]
    end
    space
    block:CORE
      client["KeygateClient<br/>Core Implementation"]
      vault["Keygate Vault<br/>Multi-signature System"]
    end
    space
    block:BLOCKCHAIN_ADAPTERS
      icp["ICP Protocol<br/>Native & ICRC Tokens"]
      evm["EVM Chains<br/>L1 & L2 Networks"]
    end
    rust --> client
    python --> client
    client --> vault
    vault --> icp
    vault --> evm
    style client stroke:#00ffcc,stroke-width:2px
    style vault stroke:#00ffcc,stroke-width:2px
    style icp stroke:#00ffcc,stroke-width:2px
    style evm stroke:#00ffcc,stroke-width:2px
Loading

Quick Start

Add to your Cargo.toml:

[dependencies]
keygate-sdk = "0.1.0"

Examples

use keygate_sdk::{KeygateClient, load_identity};

#[tokio::main]
async fn main() {
    // Initialize client
    let identity = load_identity("path/to/identity.pem").await?;
    let client = KeygateClient::new(identity, "https://your-keygate-url").await?;

    // Create a wallet
    let wallet_id = client.create_wallet().await?;
    
    // Execute a transaction
    let transaction = TransactionArgs {
        to: "recipient_account_id".to_string(),
        amount: 1.5, // Amount in ICP
    };
    
    let status = client
        .execute_transaction(&wallet_id.to_string(), &transaction)
        .await?;
}

Development Setup

Prerequisites

  • Rust 1.54+
  • Cargo
  • ICP identity
  • Keygate access

Build and Test

# Build the SDK
cargo build --release

# Run tests
cargo test

# Build Python wheels
cargo build --features python-bindings

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Rust SDK to communicate with Keygate using HTTPAgent.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages