A modern, full-featured developer portal for the RootChain blockchain platform. Built with Next.js 14, React, and Tailwind CSS.
- Create and manage API keys for both mainnet and testnet
- Toggle key status (active/inactive)
- View key usage history and details
- Automatic key prefix based on network (root_prod_ / root_test_)
- Request test tokens for development (up to 100 tROOT)
- Rate limiting (5 requests per address per day)
- View recent token distributions
- Real-time transaction status updates
- Comprehensive API reference
- Integration guides
- Network-specific information
- Best practices and tutorials
- Ready-to-use code snippets
- Multiple language support (JavaScript/Python)
- Smart contract deployment examples
- Wallet integration guides
- Toast notifications for actions
- Transaction status tracking
- Error handling with descriptive messages
- Loading states for better UX
- Frontend: Next.js 14, React, TypeScript
- Styling: Tailwind CSS, HeadlessUI
- Code Highlighting: react-code-blocks
- State Management: React Hooks
- Notifications: react-hot-toast
- Node.js 18.x or later
- npm or yarn
- Git
cd developer-portal
- Install dependencies:
npm install
# or
yarn install
- Set up environment variables:
cp .env.example .env.local
Edit .env.local
with your configuration:
FAUCET_PRIVATE_KEY=your_faucet_private_key
FAUCET_ADDRESS=your_faucet_address
Run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 to view the portal.
developer-portal/
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── api-keys/ # API key management page
│ ├── documentation/ # Documentation page
│ ├── examples/ # Code examples page
│ ├── faucet/ # Testnet faucet page
│ └── layout.tsx # Root layout
├── components/ # Reusable components
├── public/ # Static assets
└── styles/ # Global styles
POST /api/wallet/create
Body: { network: 'mainnet' | 'testnet' }
POST /api/faucet
Body: { address: string, amount: number }
GET /api/keys
POST /api/keys
Body: { name: string, network: 'mainnet' | 'testnet' }
PATCH /api/keys
Body: { id: string, status: 'active' | 'inactive' }
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the GitHub repository .