Skip to content

AugustMoreau/AugustMetrics

Repository files navigation

AugustMetrics

AugustMetrics is a revolutionary platform for publishing and verifying computational experiments using blockchain technology. Built with the Augustium programming language, it ensures reproducibility and transparency in scientific computing.

Features

  • Experiment Publishing: Submit computational experiments with immutable on-chain records
  • Blockchain Verification: Hash-based verification using Augustium smart contracts
  • Containerized Execution: Secure, isolated experiment runtime environments
  • Public Verification: Anyone can verify and reproduce published results
  • Research Dashboard: Intuitive interface for managing experiments
  • Institutional Support: Multi-user management for research institutions

Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Docker (for containerized execution)

Installation

# Clone the repository
git clone https://github.com/your-username/AugustMetrics.git
cd AugustMetrics

# Install frontend dependencies
npm install

# Install backend dependencies
cd backend
npm install
cd ..

Development

# Start the frontend development server
npm run dev

# In another terminal, start the backend
cd backend
npm start

The frontend will be available at http://localhost:5173 and the backend API at http://localhost:3001.

Architecture

Frontend

  • React 18 with TypeScript
  • Tailwind CSS + shadcn/ui for styling
  • Zustand for state management
  • React Router for navigation

Backend

  • Augustium smart contracts for blockchain operations
  • Node.js API server with REST endpoints
  • Container orchestration for experiment execution
  • Hash verification system for data integrity

Blockchain

  • Augustium programming language for smart contracts
  • Immutable experiment storage with cryptographic hashes
  • Decentralized verification network

Usage

Publishing an Experiment

  1. Connect Wallet: Link your blockchain wallet
  2. Upload Code: Submit your Augustium experiment code
  3. Add Data: Include input datasets
  4. Set Metadata: Describe your experiment
  5. Publish: Submit to blockchain with generated hashes

Verifying Results

  1. Browse Experiments: Find published experiments
  2. Download Package: Get code and data
  3. Run Verification: Execute in containerized environment
  4. Compare Hashes: Validate against blockchain records

API Endpoints

Experiments

  • GET /api/experiments - List all experiments
  • POST /api/experiments - Publish new experiment
  • GET /api/experiments/:id - Get experiment details
  • POST /api/experiments/:id/verify - Submit verification

Execution

  • POST /api/experiments/:id/execute - Run experiment
  • GET /api/execution/:id/status - Check execution status
  • GET /api/execution/:id/logs - Get execution logs

Example Experiment

// climate_model.aug
contract ClimateModel {
    struct ClimateData {
        temperature: f64[],
        humidity: f64[],
        pressure: f64[]
    }
    
    function predict(data: ClimateData) -> f64[] {
        // Machine learning prediction logic
        let model = load_ml_model("climate_predictor.model");
        return model.predict(data);
    }
    
    function verify_results(input: ClimateData, output: f64[]) -> bool {
        let computed = predict(input);
        return hash(computed) == hash(output);
    }
}

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Add tests if applicable
  5. Commit: git commit -m 'Add amazing feature'
  6. Push: git push origin feature/amazing-feature
  7. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • The Augustium blockchain development team
  • Open science and reproducibility advocates
  • The broader blockchain research community

Support


Built with passion for transparent science

About

Blockchain-based computational experiment verification platform built with Augustium for scientific research and reproducible computing

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors