Skip to content

Navin-xmr/navin-contracts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

215 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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
│   └── example-contract    # Core delivery tracking contract
│       ├── src
│       │   ├── lib.rs      # Main contract logic
│       │   ├── storage.rs  # Data persistence layer
│       │   ├── transactions.rs  # Transaction handling
│       │   ├── types.rs    # Type definitions
│       │   └── test.rs     # Contract tests
│       ├── Cargo.toml
│       └── Makefile
├── Cargo.toml              # Workspace configuration
├── Makefile                # Build and test commands
├── CONTRIBUTING.md         # Contribution guidelines
└── README.md

Quick Start

Prerequisites

  • Rust (latest stable)
  • Stellar CLI
  • 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

# Using Make
make build

OR

# Using cargo
cargo build --target wasm32-unknown-unknown --release
# Or directly with Stellar CLI
stellar contract build

Test

# Run all tests
make test

# Or directly with cargo
cargo test

Format & Lint

# Format code
make fmt
# OR
cargo fmt
# Check formatting
make fmt-check

# OR
cargo check --all
# Run clippy lints
make lint

Development

For detailed contribution guidelines, please see CONTRIBUTING.md.

Running Locally

  1. Build the contracts:

    make build
  2. Run tests:

    make test
  3. Deploy to local network:

    make deploy-local

Deployment

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

Quick deployment:

# Build contracts
./scripts/build.sh

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

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

Architecture

Navin's smart contracts handle:

  • Asset Management: Secure storage and transfer of delivery tokens
  • Access Control: Role-based permissions for different stakeholders
  • Transaction Logging: Immutable audit trail of all operations
  • Asset Locking: Time-based locks for escrow and guarantees

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.

Resources

Community


Built with ❤️ on Stellar

About

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages