This project provides an implementation of the Join-Accumulate Machine (Jam) in Rust, based on the concepts described in the graypaper. The implementation includes basic structures for smart contracts, core-time management, and an execution environment.
The Join-Accumulate Machine (Jam) is a virtual machine designed to execute smart contracts with a focus on efficient core-time management. This project demonstrates the core components of Jam in a simplified form.
- Smart Contract Structure: Defines basic smart contract structure with code and state.
- Core-Time Management: Manages core-time allocation for contract execution.
- Install Rust and Cargo by following the instructions on the official Rust website.
-
Clone the repository:
git clone https://github.com/UniversalDot/JAM.git cd JAM
-
Build the project::
cargo build
-
Run the application:
cargo run
-
Test the application:
cargo test
The application has been build and compiled with the following Rust compiler version.
cargo 1.79.0-nightly (80d5b607d 2024-04-19)
release: 1.79.0-nightly
commit-hash: 80d5b607dde6ef97dfff4e23923822c01d2bb036
commit-date: 2024-04-19
host: aarch64-apple-darwin
libgit2: 1.7.2 (sys:0.18.3 vendored)
libcurl: 7.79.1 (sys:0.4.72+curl-8.6.0 system ssl:(SecureTransport) LibreSSL/3.3.6)
ssl: OpenSSL 1.1.1w 11 Sep 2023
os: Mac OS 12.5.1 [64-bit]