Skip to content

A collection of libraries and tools for building software around the Internet Computer, in Rust.

License

Notifications You must be signed in to change notification settings

ethereumspace/agent-rs

 
 

Repository files navigation

DFINITY's Rust Agent Repository

GitHub Workflow Status

Contributing

Please follow the guidelines in the CONTRIBUTING.md document.

Building

We use cargo to build this repo. Make sure you have rust stable installed. To build the repo:

cargo build

Testing

There are two suites of tests that can be executed from this repo; the regular cargo tests and the ic-ref tests. In order to run the ic-ref tests, you will need a running local reference server. If you do not have one, those tests will be ignored.

Release Script

Using the zzz-release binary here (not available on crates.io), one can automatically update the versions of packages based on the Git history. For example, any commit that starts with feat: will update the minor version of packages which files were changed. Commits starting with fix: or which dependencies were changed will update their patch version.

To run, simply do

cargo run --bin zzz-release && cargo build

If there are any errors (e.g. the workspace is modified locally), an error will be given. Otherwise by default a git commit will be made, which needs to be pushed (and a PR created).

Packages

This repo has multiple packages in its Cargo workspace.

Package Name Links Description
ic-agent README DOC The ic-agent is a library to talk directly to the Replica.
ic-utils README DOC A library of utilities for managing calls and canisters.
icx README A command line utility to use the agent. Not meant to be published, only available in this repo for tests.
ref-tests A package that only exists to run the ic-ref tests with the ic-agent as the connection.

About

A collection of libraries and tools for building software around the Internet Computer, in Rust.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 98.1%
  • Shell 1.9%