MCPcopy Index your code
hub / github.com/ZenGo-X/solana-tss

github.com/ZenGo-X/solana-tss @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
41 symbols 75 edges 5 files 2 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Solana Threshold Signatures PoC

A Proof-Of-Concept showing n-of-n offchain multisignatures on Solana

Demo

gif

Building

From Sources

With Rust's package manager cargo, you can install solana-tss via:

cargo install --git https://github.com/ZenGo-X/solana-tss.git

Usage

Help:

solana-tss 0.1.0
A PoC for managing a Solana TSS wallet

USAGE:
    solana-tss <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    generate
            Generate a pair of keys
    balance
            Check the balance of an address
    airdrop
            Request an airdrop from a faucet
    send-single
            Send a transaction using a single private key
    aggregate-keys
            Aggregate a list of addresses into a single address that they can all sign on together
    agg-send-step-one
            Start aggregate signing
    recent-block-hash
            Print the hash of a recent block, can be used to pass to the `agg-send` steps
    agg-send-step-two
            Step 2 of aggregate signing, you should pass in the secret data from step 1. It's
            important that all parties pass in exactly the same transaction details
            (amount,to,net,memo,recent_block_hash)
    aggregate-signatures-and-broadcast
            Aggregate all the partial signatures together into a full signature, and send the
            transaction to Solana
    help
            Print this message or the help of the given subcommand(s)

Choosing a different network

By default, the tool uses testnet but this can be overriden by passing --net mainnet / devnet / testnet

Extension points exported contracts — how you extend this code

Serialize (Interface)
(no doc) [3 implementers]
src/serialization.rs
FieldError (Interface)
(no doc) [1 implementers]
src/serialization.rs

Core symbols most depended-on inside this repo

get_cluster_url
called by 5
src/cli.rs
key_agg
called by 4
src/tss.rs
size_hint
called by 4
src/serialization.rs
create_unsigned_transaction
called by 3
src/main.rs
serialize_bs58
called by 3
src/serialization.rs
step_two
called by 2
src/tss.rs
sign_and_broadcast
called by 2
src/tss.rs
serialize
called by 2
src/serialization.rs

Shape

Method 16
Function 13
Class 5
Enum 5
Interface 2

Languages

Rust100%

Modules by API surface

src/serialization.rs20 symbols
src/tss.rs11 symbols
src/cli.rs5 symbols
src/error.rs3 symbols
src/main.rs2 symbols

For agents

$ claude mcp add solana-tss \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact