Files
explorer-monorepo/docs/PULL_REQUEST_GUIDE.md

7.8 KiB

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

Current Configuration (in repository)

{
  "name": "Defi Oracle Meta Mainnet",
  "chain": "dfiometa",
  "rpc": ["https://rpc.defi-oracle.io", "wss://wss.defi-oracle.io"]
}

Required Updates

  1. Update RPC URLs:

    {
      "rpc": [
        "https://rpc-http-pub.d-bis.org",
        "https://rpc-http-prv.d-bis.org"
      ]
    }
    
  2. Verify Explorer URL:

    {
      "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

# 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

## 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

Steps to Investigate and Update

# 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

## 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

Steps to Add ChainID 138 Support

# 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

## 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

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

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

cat file.json | jq .

Last Updated: 2025-12-24 Status: Ready for PR Creation