Files
explorer-monorepo/docs/PULL_REQUEST_GUIDE.md

298 lines
7.8 KiB
Markdown
Raw Normal View History

# Pull Request Guide for ChainID 138 Updates
## Overview
This guide provides step-by-step instructions for creating pull requests to update ChainID 138 configurations in external repositories.
---
## 1. ethereum-lists/chains (Chainlist.org) - PRIORITY 1
### Repository
- **URL**: https://github.com/ethereum-lists/chains
- **File**: `_data/chains/eip155-138/chain.json`
- **Current Status**: ChainID 138 exists but has incorrect RPC URLs
### Current Configuration (in repository)
```json
{
"name": "Defi Oracle Meta Mainnet",
"chain": "dfiometa",
"rpc": ["https://rpc.defi-oracle.io", "wss://wss.defi-oracle.io"]
}
```
### Required Updates
1. **Update RPC URLs**:
```json
{
"rpc": [
"https://rpc-http-pub.d-bis.org",
"https://rpc-http-prv.d-bis.org"
]
}
```
2. **Verify Explorer URL**:
```json
{
"explorers": [{
"name": "Blockscout",
"url": "https://explorer.d-bis.org",
"standard": "EIP3091"
}]
}
```
3. **Decision Needed**: Chain name
- Current: "Defi Oracle Meta Mainnet"
- Alternative: "DBIS Chain"
- **Recommendation**: Keep current name if it's already established, or update if preferred
### Steps to Create PR
```bash
# 1. Fork the repository (via GitHub web interface)
# Go to: https://github.com/ethereum-lists/chains
# Click "Fork"
# 2. Clone your fork
git clone https://github.com/YOUR_USERNAME/chains.git
cd chains
# 3. Create a new branch
git checkout -b update-chainid-138-rpc-endpoints
# 4. Update the chain configuration
# Edit: _data/chains/eip155-138/chain.json
# Update RPC URLs to:
# - https://rpc-http-pub.d-bis.org
# - https://rpc-http-prv.d-bis.org
# 5. Verify the file is valid JSON
cat _data/chains/eip155-138/chain.json | jq .
# 6. Commit changes
git add _data/chains/eip155-138/chain.json
git commit -m "chore: update ChainID 138 RPC endpoints
- Update RPC URLs to use public and permissioned endpoints
- Public: https://rpc-http-pub.d-bis.org
- Permissioned: https://rpc-http-prv.d-bis.org
- Previous endpoints (rpc.defi-oracle.io) are deprecated"
# 7. Push to your fork
git push origin update-chainid-138-rpc-endpoints
# 8. Create PR via GitHub web interface
# Go to: https://github.com/ethereum-lists/chains
# Click "Compare & pull request"
```
### PR Description Template
```markdown
## Update ChainID 138 RPC Endpoints
### Summary
Updates RPC endpoints for ChainID 138 (Defi Oracle Meta Mainnet) to use the new public and permissioned endpoints.
### Changes
- Updated RPC URLs from `rpc.defi-oracle.io` to:
- `https://rpc-http-pub.d-bis.org` (public endpoint)
- `https://rpc-http-prv.d-bis.org` (permissioned endpoint)
### Reason
The previous RPC endpoints have been deprecated. The new endpoints provide:
- Public access for general use (MetaMask, dApps)
- Permissioned access for authorized services
### Testing
- ✅ Verified RPC endpoints are accessible
- ✅ Tested `eth_chainId` returns `0x8a` (138)
- ✅ Verified explorer URL is correct: `https://explorer.d-bis.org`
### Related
- Chain configuration: https://github.com/Defi-Oracle-Meta-Blockchain/metamask-integration
- Explorer: https://explorer.d-bis.org
```
---
## 2. Cross-Chain-Mirroring Repository - PRIORITY 2
### Repository
- **URL**: https://github.com/Defi-Oracle-Meta-Blockchain/Cross-Chain-Mirroring
- **Status**: Needs investigation
### Steps to Investigate and Update
```bash
# 1. Clone the repository
git clone https://github.com/Defi-Oracle-Meta-Blockchain/Cross-Chain-Mirroring.git
cd Cross-Chain-Mirroring
# 2. Search for ChainID 138 references
grep -r "138" . --include="*.json" --include="*.yaml" --include="*.yml" --include="*.toml" --include="*.env"
grep -r "rpc" . --include="*.json" --include="*.yaml" --include="*.yml" --include="*.toml" --include="*.env" -i
# 3. Search for old RPC URLs
grep -r "rpc-core.d-bis.org" .
grep -r "rpc.defi-oracle.io" .
grep -r "defi-oracle.io" .
# 4. Create branch for updates
git checkout -b update-chainid-138-rpc-endpoints
# 5. Update RPC URLs in configuration files
# Replace old URLs with:
# - https://rpc-http-pub.d-bis.org (for public access)
# - https://rpc-http-prv.d-bis.org (for permissioned access)
# 6. Commit and push
git add .
git commit -m "chore: update ChainID 138 RPC endpoints to public/permissioned URLs"
git push origin update-chainid-138-rpc-endpoints
# 7. Create PR
```
### PR Description Template
```markdown
## Update ChainID 138 RPC Endpoints
### Summary
Updates ChainID 138 RPC endpoints in cross-chain mirroring configuration to use the new public and permissioned endpoints.
### Changes
- Updated RPC URLs to:
- `https://rpc-http-pub.d-bis.org` (public endpoint)
- `https://rpc-http-prv.d-bis.org` (permissioned endpoint)
### Files Updated
- [List of files updated]
### Testing
- ✅ Verified RPC endpoints are accessible
- ✅ Tested cross-chain operations with new endpoints
```
---
## 3. app-ethereum (Ledger) Repository - PRIORITY 3
### Repository
- **URL**: https://github.com/Defi-Oracle-Meta-Blockchain/app-ethereum
- **Status**: Forked from LedgerHQ/app-ethereum
### Steps to Add ChainID 138 Support
```bash
# 1. Clone the repository
git clone https://github.com/Defi-Oracle-Meta-Blockchain/app-ethereum.git
cd app-ethereum
# 2. Check if ChainID 138 is already supported
grep -r "138" . --include="*.c" --include="*.h" --include="*.json"
grep -r "chain.*id" . -i --include="*.c" --include="*.h"
# 3. Look for network configuration files
find . -name "*network*" -o -name "*chain*" -o -name "*config*" | grep -i "chain\|network"
# 4. Check documentation
cat README.md | grep -i "chain\|network"
# 5. If ChainID 138 is not supported, add it:
# - Add chain definition in appropriate config file
# - Add network parameters (chain ID, RPC URLs, currency)
# - Update documentation
# 6. Create branch
git checkout -b add-chainid-138-support
# 7. Commit and push
git add .
git commit -m "feat: add ChainID 138 (DBIS Chain) support
- Add ChainID 138 network configuration
- RPC: https://rpc-http-pub.d-bis.org
- Explorer: https://explorer.d-bis.org
- Currency: ETH (18 decimals)"
git push origin add-chainid-138-support
# 8. Create PR
```
### PR Description Template
```markdown
## Add ChainID 138 (DBIS Chain) Support
### Summary
Adds support for ChainID 138 (DBIS Chain) to the Ledger Ethereum app, enabling users to interact with ChainID 138 using Ledger hardware wallets.
### Changes
- Added ChainID 138 network configuration
- Network name: DBIS Chain
- Chain ID: 138 (0x8a)
- RPC endpoint: https://rpc-http-pub.d-bis.org
- Block explorer: https://explorer.d-bis.org
- Native currency: ETH (18 decimals)
### Testing
- ✅ Verified network configuration
- ✅ Tested transaction signing on Ledger device
- ✅ Verified RPC connectivity
### Related
- Chain configuration: https://chainlist.org (after PR merge)
- Explorer: https://explorer.d-bis.org
```
---
## Verification Checklist
Before creating PRs, verify:
- [ ] RPC endpoints are accessible and return correct Chain ID
- [ ] JSON files are valid (use `jq .` to validate)
- [ ] All references to old RPC URLs are updated
- [ ] Documentation is updated (if applicable)
- [ ] Changes are tested locally
- [ ] Commit messages follow conventional commits format
- [ ] PR descriptions are clear and complete
---
## Testing Commands
### Test Public RPC
```bash
curl -X POST https://rpc-http-pub.d-bis.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
# Should return: {"jsonrpc":"2.0","id":1,"result":"0x8a"}
```
### Test Permissioned RPC
```bash
curl -X POST https://rpc-http-prv.d-bis.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
# Should return: {"jsonrpc":"2.0","id":1,"result":"0x8a"}
```
### Validate JSON
```bash
cat file.json | jq .
```
---
**Last Updated**: 2025-12-24
**Status**: Ready for PR Creation