Files
dbis-thirdweb/README.md

154 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

2026-01-01 08:04:06 -08:00
# dbis-thirdweb
Chain 138 full enablement for thirdweb offerings: **Wallets**, **x402**, **Bridge**, **Tokens**, **AI**, and **HTTP API**.
## Overview
This monorepo provides complete enablement of Chain 138 (ChainID 138) across six core thirdweb offerings. Each offering is implemented as an independent package with its own API, tests, and documentation.
## Structure
```
packages/
chain/ - Chain 138 canonical definition (CAIP-2: eip155:138)
wallets/ - Wallet connectors & configuration
x402/ - Payment primitives & pay-to-access flows
bridge/ - Bridge routes & execution helpers
tokens/ - ERC20/721/1155 deployment & management
ai/ - Chain-aware AI prompts & actions
http-api/ - HTTP API client wrapper with retries
apps/
smoke-tests/ - End-to-end tests for all 6 offerings
```
## Prerequisites
- Node.js >= 18.0.0
- pnpm >= 8.0.0
- Access to Chain 138 RPC endpoint (default: https://138.rpc.thirdweb.com)
## Setup
1. Install dependencies:
```bash
pnpm install
```
2. Build all packages:
```bash
pnpm build
```
3. Run smoke tests (optional - requires test private key):
```bash
cd apps/smoke-tests
cp .env.example .env
# Edit .env with your TEST_PRIVATE_KEY
pnpm test
```
## Usage
Each package can be imported independently:
```typescript
import { chain138 } from '@dbis-thirdweb/chain';
import { getWalletConfig, switchToChain138 } from '@dbis-thirdweb/wallets';
import { PayToAccessFlow } from '@dbis-thirdweb/x402';
import { generateBridgeQuote } from '@dbis-thirdweb/bridge';
import { createTokenFactory } from '@dbis-thirdweb/tokens';
import { createReadPrompt } from '@dbis-thirdweb/ai';
import { createChain138API } from '@dbis-thirdweb/http-api';
```
See individual package READMEs for detailed usage:
- [`packages/chain/README.md`](packages/chain/README.md)
- [`packages/wallets/README.md`](packages/wallets/README.md)
- [`packages/x402/README.md`](packages/x402/README.md)
- [`packages/bridge/README.md`](packages/bridge/README.md)
- [`packages/tokens/README.md`](packages/tokens/README.md)
- [`packages/ai/README.md`](packages/ai/README.md)
- [`packages/http-api/README.md`](packages/http-api/README.md)
## Development
### Build
Build all packages:
```bash
pnpm build
```
Build specific package:
```bash
pnpm --filter @dbis-thirdweb/chain build
```
### Testing
Run all smoke tests:
```bash
pnpm smoke-tests
```
Run specific test suite:
```bash
cd apps/smoke-tests
pnpm test:wallets
pnpm test:x402
pnpm test:bridge
pnpm test:tokens
pnpm test:ai
pnpm test:http-api
```
### Linting
Lint all packages:
```bash
pnpm lint
```
## Package Details
### @dbis-thirdweb/chain
Canonical Chain 138 definition with chain ID, RPC endpoints, native currency, and explorer configuration.
### @dbis-thirdweb/wallets
Wallet configuration defaults, chain switching utilities, and RPC failover for Chain 138.
### @dbis-thirdweb/x402
Payment primitives, pay-to-access flows, replay protection, and receipt verification for Chain 138.
### @dbis-thirdweb/bridge
Bridge route configuration, token lists, quote generation, and execution helpers for bridging to Chain 138.
### @dbis-thirdweb/tokens
ERC20/721/1155 token deployment, minting, transfers, and metadata hosting for Chain 138.
### @dbis-thirdweb/ai
Chain-aware AI prompt templates, read/write action templates, and chain ID validation for Chain 138.
### @dbis-thirdweb/http-api
HTTP API client wrapper with retry logic, exponential backoff, timeouts, and Chain 138-specific endpoints.
## Troubleshooting
### Common Issues
1. **Build errors**: Ensure all dependencies are installed with `pnpm install`
2. **Test failures**: Check that `TEST_PRIVATE_KEY` is set in `apps/smoke-tests/.env`
3. **RPC connection errors**: Verify Chain 138 RPC endpoint is accessible
4. **Chain mismatch errors**: Ensure you're using Chain 138 (chainId: 138) in your configuration
### Getting Help
- Check individual package READMEs for package-specific issues
- Review smoke test output for detailed error messages
- Verify Chain 138 is properly configured in thirdweb dashboard
## License
MIT