Appearance
Product Overview
Skuchain has three key technologies for inventory control and financing:
Popcode
andSkucode
for inventory control and trackingDLPC
for inventory and trade financing
Through Skuchain's platform, Popcodes
, Skucodes
, and DLPCs
can be combined to encapsulate varied deep-tier supply chains.
Popcodes
- A
Popcode
is built on theERC-1155
standard, supporting both fungible and non-fungible tokens. - It enables businesses to tokenize and manage inventory, handling unique items or identical batches under a unified contract.
- It supports multiple token types, streamlining operations like minting, transferring, and burning.
- This simplifies asset management processes by consolidating these operations into a single contract.
Deployment via PopcodeFactory
- Popcode contracts are deployed using
PopcodeFactory
, which leveragesCREATE2
for deterministic address generation. - This allows businesses to predict contract addresses before they are deployed, enhancing predictability and visibility of contract deployment and actions.
- This ensures transparency by logging all key actions, including events like ProofAdded, InterPopcodeTransferSent, and InterPopcodeTransferReceived.
Role-Based Access Control
- Utilizes
OpenZeppelin’s
AccessControl to implement role-based access control. - Manages permissions using a granular bit masking model to secure operations like token transfers and unwrapping.
- Roles such as
MINTER_ROLE
,BURNER_ROLE
, andPAUSER_ROLE
restrict key operations to authorized users. - Control masks like TRANSFER_MASK and UNWRAP_MASK add another layer of security, controlling token flows and cross-contract movements.
Token Transfer and Wrapping Functionality
- Supports various token transfer functions, enabling efficient asset movement within and across contracts.
- Provides the ability to
wrap
andunwrap
tokens, linking them to Skucodes for better tracking and flexibility. - Incorporates a proof system that links tokens with Content Identifiers (CIDs), ensuring asset traceability and authenticity.
- Critical for verifying the provenance of tokenized assets, especially in supply chain management.
Skucodes
- A
Skucode
is a unique identifier for Stock Keeping Units (SKUs) on the blockchain. - Represented as
ERC-721
non-fungible tokens (NFTs) to provide each SKU with a cryptographically verifiable identity. - Allows brands to manage SKUs within a decentralized supply chain system.
- The
Token ID
for each SKU under aPopcode
is linked to the corresponding Skucode's address. - Encapsulates SKU properties, linking the
brandID
,itemID
, andunit of measurement
to represent ownership and brand identity on the blockchain.
Types and Contract Structure:
- Skucode contracts use
Ownable
from OpenZeppelin, restricting certain actions to the contract owner for enhanced security. - Skucodes are categorized into two types:
Mintable
: Can mint tokens independently.Wrappable
: Maintain a parent-child relationship with other Skucodes.
- The
wrap ratio
defines a proportional relationship between parent and child Skucodes, enabling flexible inventory flow management.
Security Mechanisms:
- Security is reinforced through errors such as
UnauthorizedSkucodeOwner
, preventing unauthorized changes to wrap ratios. InvalidTwinContract
error protects against unauthorized contracts attempting to interact with the Skucode.- Hooks like
onReceiveWrapRatio
are triggered when child Skucodes receive wrap ratios, allowing verification and off-chain logging without altering the contract’s state.
Relationship with Popcodes:
- Skucodes provide granular control over individual items within the supply chain, in contrast,
Popcodes
manage larger batches of SKUs. - The combination of Skucodes and Popcodes offers a scalable decentralized inventory management system.
- Skucodes track individual items, while Popcodes simplify batch management, providing flexibility and control.
DLPCs
- Distributed Ledger Payment Commitment (DLPC) utilizes blockchain technology for deferred payment management between buyers (committers) and suppliers (beneficiaries).
- Buyers commit to future payments upon meeting specific conditions (e.g., receipt of goods or services).
- Once terms are agreed upon, the agreement becomes legally binding, and transaction details are securely recorded on the ledger.
- This provides transparency, immutability, and security.
Deployment via DLPC Factory
DLPC Factory Contract deploys DLPCs onto the blockchain with:
- Unique address generation via deterministic methods.
- Immutable record creation.
- DLPC enters the
Initiated
state upon deployment.
DLPC Document
- It encapsulates the terms of payment including the payment amount, due date, and specific conditions.
- Document is hashed into a cryptographic fingerprint for security and stored on the public network.
DLPC Contract Updates
- It allow modifications, such as changes to payment conditions, amounts, or due dates.
- Requires mutual attestation via on-chain transactions from both parties (simplifying the process compared to traditional signature-based attestation).
- Modifications are only allowed in the
Contingent
state.
Settlement
- Settlement process begins when the DLPC enters the
Effective
state. - Committer gathers the required amount of ERC-20 tokens for transfer and after DLPC contract approval, tokens are transferred to the claimant.
- Settlement within a DLPC can be conducted using either
fiat
orcryptocurrency
, with a preference for crypto due to its transparency, speed, and global accessibility. - The discharge process is initiated after settlement, marking the end of the DLPC lifecycle.