A batteries-included open-source repo for creating and managing token ecosystems on 0xRails.
Deployment on Railway is recommended.
- Configurable boilerplate -> easy to start using immediately and make small adjustments
- Extendable framework -> inherit opinions, but maintain control to build your own solutions
- Make onchain token data more legible and interactive
- Give users full ownership of the tool, advocating for open-source and self-hosting
- json config file
- define token contracts
- toggle optional features
- customize brand identity
- color system and logo
- extend components with your own code
- token directory pages
- view all token holders
- enable ERC-6551 tokenbound accounts on ERC-721 NFTs
- powered by ponder
Install app dependencies
npm iDefine environment variables
We recommend Alchemy given their wide range of services from access to ethereum nodes to token indexing. This key will be re-used across many potential networks and parts of the app. Make a free account to get your API key or keep the default API key provided.
echo "ALCHEMY_API_KEY=m2OWVY-4guxSOIeP174kQUwKZKBddt16" >> ./packages/ponder/.env.local
echo "NEXT_PUBLIC_ALCHEMY_API_KEY=m2OWVY-4guxSOIeP174kQUwKZKBddt16" >> ./packages/ponder/.env.local
echo "ALCHEMY_API_KEY=m2OWVY-4guxSOIeP174kQUwKZKBddt16" >> ./packages/next/.env.local
echo "NEXT_PUBLIC_ALCHEMY_API_KEY=m2OWVY-4guxSOIeP174kQUwKZKBddt16" >> ./packages/next/.env.local
Full environment variables list:
NEXT_PUBLIC_ALCHEMY_API_KEY: API key for multichain RPC, required for lots of thingsNEXT_PUBLIC_PONDER_PUBLIC_URL: Url of your ponder endpoint, required for deploymentNEXT_PUBLIC_WALLETCONNECT_PROJECT_ID: Required for WalletConnect support, get one hereNEXT_PUBLIC_BASE_URL: Url of your deployed frontend, used for NFT images stored in-repoNEXT_PUBLIC_BASESCAN_API_KEY: API key for BaseScan, required for ABI parsing in Extension settings for tokens deployed on BaseNEXT_PUBLIC_OPSCAN_API_KEY: API key for OpScan, required for ABI parsing in Extension settings for tokens deployed on OptimismNEXT_PUBLIC_ETHERSCAN_API_KEY: API key for Etherscan, required for ABI parsing in Extension settings for tokens deployed on Ethereum and SepoliaAPI_PRIVATE_KEY: Private key for an API wallet for submitting transactions, required for minting APIs
Run packages
Directory by Station includes two packages in a monorepo setup. The first is the UI, and the second is a token indexing server written with Ponder. You can launch both packages in dev mode.
npm run devOpen app
You can now view your GroupOS app at localhost:3000 In dev mode, you can view a GraphQL client at localhost:42069
Note that if this does not work, you may need to run the next app and ponder app in separate terminal tabs.