Skip to content

blocklessnetwork/sdk-rust

Repository files navigation

Blockless-sdk-rust

How to build

  1. Install the rust with rustup, please visit the site 'https://rustup.rs/'.

  2. Use follow command for build the project.

cargo build --release --target wasm32-wasip1

Install from crates.io

cargo add blockless-sdk

Examples

Examples are in the examples directory.

# Build example
cargo build --release --target wasm32-wasip1 --example coingecko_oracle

# Run example with blockless runtime
echo "bitcoin" | runtime target/wasm32-wasip1/release/examples/coingecko_oracle.wasm --permission https://api.coingecko.com/
# Build example
cargo build --release --target wasm32-wasip1 --example http_client

# Run example with blockless runtime
~/.bls/runtime/bls-runtime target/wasm32-wasip1/release/examples/http_client.wasm --permission http://httpbin.org/anything
# Build example
cargo build --release --target wasm32-wasip1 --example llm-mcp

# Run example with blockless runtime and tool servers running
# Make sure you have the tool servers running on ports 3001 and 3002
~/.bls/runtime/bls-runtime target/wasm32-wasip1/release/examples/llm-mcp.wasm

Examples list

Example Description Browser runtime support Native runtime support
coingecko_oracle Coingecko Oracle to query price of bitcoin from coingecko
http_client HTTP client demonstrating various request types (GET, POST, auth, multipart)
llm LLM to chat with Llama-3.1-8B-Instruct-q4f32_1-MLC and SmolLM2-1.7B-Instruct-q4f16_1-MLC models
llm-mcp LLM with MCP (Model Control Protocol) demonstrating tool integration using SSE endpoints
web-scrape Web Scraping to scrape content from a single URL with custom configuration overrides

Testing

The SDK uses FFI (Foreign Function Interface) calls that are only available in the Blockless WASM runtime environment. To run tests without host runtime, use the mock-ffi feature which provides mock implementations:

cargo test --all --features mock-ffi

This feature enables mock implementations of all FFI functions, allowing you to:

  • Test SDK struct creation and configuration
  • Test error handling logic
  • Verify API contracts without needing the runtime
  • Run unit tests in CI/CD pipelines

Note:

  • The mocks return predictable test data and don't perform actual network requests or system calls.
  • Only one implementation of the FFI functions is allowed to be mocked.

About

Blockless SDK for Rust

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •