Revelio is a platform for managing and documenting smart contracts on the Algorand blockchain. It provides a centralized registry for ARC56 contract specifications, making it easier for developers to discover, understand, and interact with smart contracts.
- Contract Registry: Store and manage ARC56 contract specifications
- Project Management: Organize contracts by project
- Versioning: Track contract upgrades and changes over time
- API Access: Programmatically access contract information
- User Authentication: Secure access to contract management
- Ruby 3.2.0 or higher
- Rails 8.0.0 or higher
- PostgreSQL 12 or higher
- Node.js and Yarn for JavaScript dependencies
-
Clone the repository:
git clone https://github.com/loedn/revelio.git cd revelio
-
Install dependencies:
bundle install yarn install
-
Set up the database:
rails db:create rails db:migrate
-
Start the server:
bin/rails s
-
Visit
http://localhost:3000
in your browser
Revelio provides a RESTful API for accessing contract information:
GET /api/v1/projects
- List all projectsGET /api/v1/contracts/:app_id
- Get contract by application IDGET /api/v1/contracts/:app_id/by_round/:round_number
- Get contract by application ID and round numberGET /api/v1/contracts/project/:abbreviation
- Get all contracts for a project
For detailed API documentation, visit /docs
in the application.
bin/rails test
This project uses RuboCop for Ruby code style:
rubocop
bin/rails lint
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- The Algorand Foundation for the ARC56 specification
- All contributors who have helped build and improve Revelio