Skip to main content

What is TAPLE Core?

TAPLE (pronounced T+🍎 [‘tapəl]) stands for Tracking (Autonomous) of Provenance and Lifecycle Events. TAPLE Core is the reference library that implements all the necessary functionality for developing a client that is compatible with TAPLE’s DLT network. TAPLE is a permissioned DLT solution specifically designed for traceability of assets and processes, offering a unique combination of scalability, efficiency, and flexibility.
If you need a ready-to-use client, refer to the TAPLE Client instead of building your own with TAPLE Core.

Key Benefits

TAPLE Core is built around four core principles that make it ideal for traceability use cases:

Scalable

Designed to scale to a sufficient level for real-world traceability use cases, handling multiple subjects and events efficiently across distributed networks.

Lightweight

Engineered to support resource-constrained devices, making it possible to run TAPLE nodes on IoT devices and embedded systems.

Flexible

Features a flexible and adaptable cryptographic scheme mechanism (Ed25519 and Secp256k1) to accommodate a multitude of scenarios and security requirements.

Energy-Efficient

Powered by Rust and designed with sustainability in mind, TAPLE is highly efficient in terms of energy consumption compared to traditional blockchain solutions.

Architecture Overview

TAPLE Core provides a comprehensive library with all the components needed to build a DLT network:
use taple_core::*;

// Node initialization with database manager
let (mut node, api) = Node::build(settings, MemoryManager::new())?;

// The API exposes read and write operations
let subject = api.get_subject(subject_id).await?;

// Notifications provide real-time event updates
if let Notification::NewEvent { sn, subject_id } = node.recv_notification().await? {
    println!("New event on subject: {}", subject_id);
}

Core Components

TAPLE Core is organized into several key modules:
  • Node: The main structure containing all required logic for a TAPLE node
  • API: Interface for read and write operations against the network
  • Cryptography: Flexible cryptographic scheme support (Ed25519, Secp256k1)
  • Governance: Permissioned network management and approval workflows
  • Database: Pluggable storage layer supporting custom implementations
  • Events: Event-driven architecture for tracking provenance and lifecycle
  • Network: P2P networking layer built on libp2p

Use Cases

TAPLE Core is particularly well-suited for:
1

Supply Chain Traceability

Track products from origin to destination with immutable provenance records
2

Asset Lifecycle Management

Monitor and record the complete lifecycle of physical and digital assets
3

Compliance and Auditing

Maintain tamper-proof audit trails for regulatory compliance
4

IoT Device Networks

Enable lightweight DLT capabilities on resource-constrained IoT devices

Technical Requirements

To work with TAPLE Core, you’ll need:
  • Rust: Minimum supported Rust version (MSRV) is 1.67
  • Dependencies: Standard Rust development environment with Cargo
  • Database: Either use the built-in MemoryManager for testing or implement a custom database backend
Cargo.toml
[dependencies]
taple-core = "0.4.0"
tokio = { version = "1.20", features = ["full"] }

How It Works

TAPLE Core implements a DLT network focused on traceability through:
  1. Subjects: Entities whose provenance and lifecycle events are being tracked
  2. Events: State changes and lifecycle updates recorded on subjects
  3. Governance: Permissioned control defining who can participate and what actions are allowed
  4. Validation: Distributed validation of events through approval and evaluation workflows
  5. Cryptographic Proofs: Signatures and identifiers ensuring data integrity and authenticity
TAPLE Core exposes protocol-specific data structures that can be obtained when interacting with the API or may be necessary for certain operations.

What’s Next?

Ready to start building with TAPLE Core?

Quick Start

Get up and running with TAPLE Core in minutes

Core Concepts

Learn about TAPLE’s architecture and design principles

API Reference

Explore the complete API documentation

GitHub Repository

View the source code and contribute

License

TAPLE Core is licensed under the AGPL-3.0-only license. See the LICENSE file for details.

Build docs developers (and LLMs) love