Skip to content

allocapital/allo-kit

Repository files navigation

Allo Simple Grants

AlloKit Builders Telegram Group

AlloKit is a modular framework for rapidly building and experimenting with on-chain funding strategies. It is built on top of Scaffold-ETH 2 and inspired by OpenZeppelin’s design principles of modularity, extensibility, and reuse.

Key features

Get Started | Read about the Architecture | Tutorials

Architecture

This document outlines the thought process of building SimpleGrants and AlloKit. https://hackmd.io/@carlb/allogram

Contracts

The contracts are designed to be minimal and modular. A Strategy contract can easily be created by composing extensions and gates.

Indexer

The indexer is built with Ponder and can be easily extended to support new events.

Getting Started

Update .env variables

Create .env.local files for both the allo app and the indexer.

cp packages/allo-app/.env.sample packages/allo-app/.env.local
cp packages/allo-indexer/.env.sample packages/allo-indexer/.env.local

Update the Pinata variables. This is needed for the creation and fetching of metadata to work properly.

PINATA_GATEWAY_KEY=
PINATA_JWT=
PINATA_GATEWAY_URL=

Update the Alchemy key. This is needed to fetch the token price in USD.

ALCHEMY_API_KEY=

Development

yarn chain          # Run hardhat node
yarn deploy         # Deploy contracts
yarn allo:indexer   # Run indexer
yarn allo:dev       # Run app
yarn app            # Run contract debugger

open localhost:3000

Make sure Ponder schema has been generated. Regenerate by navigating to packages/allo-indexer and run npm run codegen.

About

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published