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.
- 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
- Node.js 18+
- npm or yarn
- Docker (for containerized execution)
# 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 ..# Start the frontend development server
npm run dev
# In another terminal, start the backend
cd backend
npm startThe frontend will be available at http://localhost:5173 and the backend API at http://localhost:3001.
- React 18 with TypeScript
- Tailwind CSS + shadcn/ui for styling
- Zustand for state management
- React Router for navigation
- Augustium smart contracts for blockchain operations
- Node.js API server with REST endpoints
- Container orchestration for experiment execution
- Hash verification system for data integrity
- Augustium programming language for smart contracts
- Immutable experiment storage with cryptographic hashes
- Decentralized verification network
- Connect Wallet: Link your blockchain wallet
- Upload Code: Submit your Augustium experiment code
- Add Data: Include input datasets
- Set Metadata: Describe your experiment
- Publish: Submit to blockchain with generated hashes
- Browse Experiments: Find published experiments
- Download Package: Get code and data
- Run Verification: Execute in containerized environment
- Compare Hashes: Validate against blockchain records
GET /api/experiments- List all experimentsPOST /api/experiments- Publish new experimentGET /api/experiments/:id- Get experiment detailsPOST /api/experiments/:id/verify- Submit verification
POST /api/experiments/:id/execute- Run experimentGET /api/execution/:id/status- Check execution statusGET /api/execution/:id/logs- Get execution logs
// 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);
}
}
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests if applicable
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The Augustium blockchain development team
- Open science and reproducibility advocates
- The broader blockchain research community
- Email: support@augustmetrics.org
- Discord: AugustMetrics Community
- Issues: GitHub Issues
Built with passion for transparent science