5.2 KiB
5.2 KiB
Run Deployment Now - Complete Command Set
Date: 2025-12-24
PRIVATE_KEY: 0x5373d11ee2cad4ed82b9208526a8c358839cbfe325919fb250f062a25153d1c8
Quick Start - Copy and Paste All Commands
Open a fresh terminal and run these commands in order:
Step 1: Setup Environment
cd /home/intlc/projects/proxmox/smom-dbis-138
# Create .env file
cat > .env << 'EOF'
# Chain 138 RPC Configuration
RPC_URL_138=http://192.168.11.250:8545
RPC_URL=http://192.168.11.250:8545
PRIVATE_KEY=0x5373d11ee2cad4ed82b9208526a8c358839cbfe325919fb250f062a25153d1c8
EOF
chmod 600 .env
# Load environment
source .env
# Verify
echo "Deployer: $(cast wallet address $PRIVATE_KEY)"
echo "RPC Block: $(cast block-number --rpc-url $RPC_URL)"
Step 2: Deploy ComplianceRegistry
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
forge script script/DeployComplianceRegistry.s.sol:DeployComplianceRegistry \
--rpc-url $RPC_URL \
--broadcast \
--legacy \
--gas-price 20000000000 \
--via-ir \
-vv
Save the deployed address from the output (look for "ComplianceRegistry deployed at: 0x...")
Step 3: Deploy CompliantUSDT
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
forge script script/DeployCompliantUSDT.s.sol:DeployCompliantUSDT \
--rpc-url $RPC_URL \
--broadcast \
--legacy \
--gas-price 20000000000 \
--via-ir \
-vv
Save the deployed address from the output
Step 4: Deploy CompliantUSDC
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
forge script script/DeployCompliantUSDC.s.sol:DeployCompliantUSDC \
--rpc-url $RPC_URL \
--broadcast \
--legacy \
--gas-price 20000000000 \
--via-ir \
-vv
Save the deployed address from the output
Step 5: Deploy TokenRegistry
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
forge script script/DeployTokenRegistry.s.sol:DeployTokenRegistry \
--rpc-url $RPC_URL \
--broadcast \
--legacy \
--gas-price 20000000000 \
-vv
Save the deployed address from the output
Step 6: Deploy FeeCollector
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
forge script script/DeployFeeCollector.s.sol:DeployFeeCollector \
--rpc-url $RPC_URL \
--broadcast \
--legacy \
--gas-price 20000000000 \
-vv
Save the deployed address from the output
Step 7: Register Contracts
After all deployments, register them (replace addresses with actual deployed addresses):
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
# Set addresses (replace with actual addresses from deployment)
COMPLIANCE_REGISTRY=0x... # From Step 2
COMPLIANT_USDT=0x... # From Step 3
COMPLIANT_USDC=0x... # From Step 4
TOKEN_REGISTRY=0x... # From Step 5
# Register CompliantUSDT in ComplianceRegistry
cast send $COMPLIANCE_REGISTRY \
"registerContract(address)" \
$COMPLIANT_USDT \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--legacy \
--gas-price 20000000000
# Register CompliantUSDC in ComplianceRegistry
cast send $COMPLIANCE_REGISTRY \
"registerContract(address)" \
$COMPLIANT_USDC \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--legacy \
--gas-price 20000000000
# Register CompliantUSDT in TokenRegistry
cast send $TOKEN_REGISTRY \
"registerToken(address,string,string,uint8,bool,address)" \
$COMPLIANT_USDT \
"Tether USD (Compliant)" \
"cUSDT" \
6 \
false \
0x0000000000000000000000000000000000000000 \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--legacy \
--gas-price 20000000000
# Register CompliantUSDC in TokenRegistry
cast send $TOKEN_REGISTRY \
"registerToken(address,string,string,uint8,bool,address)" \
$COMPLIANT_USDC \
"USD Coin (Compliant)" \
"cUSDC" \
6 \
false \
0x0000000000000000000000000000000000000000 \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--legacy \
--gas-price 20000000000
Alternative: Use the Automated Script
If you can run bash scripts, use:
cd /home/intlc/projects/proxmox/smom-dbis-138
# Create .env first
cat > .env << 'EOF'
RPC_URL_138=http://192.168.11.250:8545
RPC_URL=http://192.168.11.250:8545
PRIVATE_KEY=0x5373d11ee2cad4ed82b9208526a8c358839cbfe325919fb250f062a25153d1c8
EOF
chmod 600 .env
# Run deployment script
bash scripts/run-deployment-direct.sh
Verify Deployments
After deployment, verify all contracts:
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
# Check each contract has code
cast code $COMPLIANCE_REGISTRY_ADDRESS --rpc-url $RPC_URL
cast code $COMPLIANT_USDT_ADDRESS --rpc-url $RPC_URL
cast code $COMPLIANT_USDC_ADDRESS --rpc-url $RPC_URL
cast code $TOKEN_REGISTRY_ADDRESS --rpc-url $RPC_URL
cast code $FEE_COLLECTOR_ADDRESS --rpc-url $RPC_URL
Each should return bytecode (not empty).
Troubleshooting
If forge commands fail:
- Check Foundry is installed:
forge --version - Check RPC is accessible:
cast block-number --rpc-url http://192.168.11.250:8545 - Check balance:
cast balance $(cast wallet address $PRIVATE_KEY) --rpc-url $RPC_URL
If deployment fails:
- Check gas price is sufficient
- Check deployer has enough balance (0.1+ ETH recommended)
- Check contract compilation:
forge build --via-ir
All commands are ready to copy and paste!