298 lines
7.8 KiB
Markdown
298 lines
7.8 KiB
Markdown
# 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
|
|
|