Skip to content

About

Resources

Contributing

Stars

10 stars

Watchers

1 watching

Forks

Repository files navigation

Navin - Decentralized Delivery Tracking Platform

CI

Navin is a decentralized delivery tracking platform built on the Stellar blockchain. It empowers corporations and logistics companies to track foodstuff and other deliverable items in real-time with complete transparency and security.

Overview

In today's supply chain ecosystem, transparency and accountability are critical. Navin leverages Stellar's fast, low-cost blockchain infrastructure to provide:

  • Real-time Tracking: Monitor deliveries from origin to destination
  • Transparent Operations: All stakeholders can verify delivery status on-chain
  • Secure Data: Cryptographically secured delivery records and proof of custody
  • Cost-Effective: Built on Stellar's efficient blockchain infrastructure
  • Scalable: Designed to handle high-volume delivery operations

Use Cases

  • Food delivery tracking and verification
  • Pharmaceutical supply chain management
  • Perishable goods monitoring
  • Multi-party logistics coordination
  • Proof of delivery and custody chain

Project Structure

This repository contains Soroban smart contracts for the Navin platform:

.
├── contracts
│   ├── nft                 # Shipment-asset NFT contract
│   │   ├── src
│   │   │   ├── lib.rs      # Minting, transfer, burn, and metadata entrypoints
│   │   │   ├── storage.rs  # Ownership and metadata URI storage
│   │   │   ├── errors.rs   # Contract error enum
│   │   │   └── event_topics.rs # Event topic constants
│   │   └── Cargo.toml
│   ├── shipment            # Core logistics and escrow contract
│   │   ├── src             # Entry points plus the test_*.rs regression suites
│   │   ├── tests           # Cross-contract integration tests
│   │   ├── docs            # Contract-specific reference documents
│   │   └── Cargo.toml
│   └── token               # Payment token contract
│       ├── src
│       │   ├── lib.rs      # Token entrypoints
│       │   ├── storage.rs  # Balance and allowance storage
│       │   ├── types.rs    # Token types
│       │   └── test.rs     # Token tests
│       └── Cargo.toml
├── docs                    # Architecture, ABI, event, and operations guides
├── scripts                 # Build, deploy, simulate, and release scripts
├── Cargo.toml              # Workspace configuration
├── Makefile                # Build and test commands
├── CONTRIBUTING.md         # Contribution guidelines
└── README.md

Smart Contracts

The repository contains three smart contracts located under contracts/:

Quick Start

Prerequisites

  • Rust (latest stable)
  • Stellar CLI (only needed for schema generation and local networks)
  • Make (optional, for convenience commands)

Installation

# Fork the repository
# Then clone your fork into your local environment
git clone https://github.com/yourusername/navin-contracts.git
cd navin-contracts

# Add wasm32 target
rustup target add wasm32-unknown-unknown

Build

# Build every contract for wasm32-unknown-unknown in release mode
make build

Test

# Run all tests
make test

# Or directly with cargo
cargo test

Format & Lint

# Format code
make fmt

# Check formatting (CI)
make fmt-check

# Run clippy lints
make lint

# Format check + clippy in one go (CI)
make check

Development

For detailed contribution guidelines, please see CONTRIBUTING.md.

Running Locally

  1. Build the contracts:

    make build
  2. Run tests:

    make test
  3. Run the full check suite (format check, clippy, tests, and build):

    make all

Additional Make Targets

Target Purpose Requirements
make help List every available target —
make build Build all contracts for wasm32 wasm32-unknown-unknown target
make test Run the workspace test suite —
make coverage Line-coverage report in target/llvm-cov/ cargo install cargo-llvm-cov
make fmt / make fmt-check Format code / verify formatting —
make lint Run clippy over all targets and features —
make check fmt-check + lint —
make all check + test + build —
make clean Remove build artifacts —
make generate-schema-shipment Regenerate docs/contract-schema.shipment.json Stellar CLI
make generate-schema-token Regenerate docs/contract-schema.token.json Stellar CLI
make generate-schema-nft Regenerate docs/contract-schema.nft.json Stellar CLI

The docs/contract-schema.*.json files are generated from the built WASM; do not edit them by hand. Regenerate them when a contract's public interface changes and commit the output only when it differs.

Deployment

For deploying contracts to Stellar testnet, see the Deployment Guide.

Quick deployment:

# Build contracts
make build

# Deploy to testnet
./scripts/deploy-testnet.sh

# Initialize contracts
./scripts/init-testnet.sh

Documentation

Architecture and Contract Reference

Frontend Integration

Operations

Technology Stack

  • Blockchain: Stellar (Soroban smart contracts)
  • Language: Rust
  • SDK: Soroban SDK v22.0.0
  • Testing: Soroban test utilities

Contributing

We welcome contributions! Please see our CONTRIBUTING.md for details on:

  • Setting up your development environment
  • Code style and standards
  • Testing requirements
  • Submitting pull requests

Security

Security is paramount for Navin. If you discover a security vulnerability, please email navinxmr@gmail.com instead of using the issue tracker. See also SECURITY_GUIDE.md.

Resources

Community


Built with ❤️ on Stellar

About

Resources

Contributing

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages