Introduction ◈ Modules ◈ Development & Testing ◈ Related Libraries ◈ Contributing
IotaAuditTrails is the on-chain Move package behind IOTA Audit Trails.
It defines the shared AuditTrail object and the supporting types needed for:
- sequential record storage
- role-based access control through capabilities
- trail-wide locking for writes and deletions
- record tags and role tag restrictions
- immutable and updatable trail metadata
- emitted events for trail and record lifecycle changes
The package depends on TfComponents for reusable capability, role-map, and timelock primitives.
audit_trails::mainCore shared object, events, trail lifecycle, record mutation, metadata updates, roles, and capabilities.audit_trails::recordRecord payloads, initial records, and correction metadata.audit_trails::lockingLocking configuration and lock evaluation helpers.audit_trails::permissionPermission constructors and admin permission presets.audit_trails::record_tagsTag registry and role tag helpers.
Build the Move package:
cd audit-trail-move
iota move buildRun the Move test suite:
cd audit-trail-move
iota move testPublish locally:
cd audit-trail-move
./scripts/publish_package.shThe publish script prints IOTA_AUDIT_TRAIL_PKG_ID and, on localnet, also exports IOTA_TF_COMPONENTS_PKG_ID.
The package history files Move.lock and Move.history.json are used by the Rust crate to resolve and track deployed package versions.
We would love to have you help us with the development of IOTA Audit Trails. Each and every contribution is greatly valued.
Please review the contribution sections in the IOTA Docs Portal.
To contribute directly to the repository, simply fork the project, push your changes to your fork and create a pull request to get them included.
The best place to get involved in discussions about this package or to look for support at is the #notarization channel on the IOTA Discord. You can also ask questions on our Stack Exchange.
