Skip to content

Latest commit

 

History

157 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

1 star

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages