PIP-8: Re-deploy to Ethereum Mainnet and Binance Smart Chain Mainnet

PIP Name: PIP-8 Paloma Improvement Proposal for Paloma Community to re-deploy to Ethereum Mainnet and Binance Smart Chain Mainnet

Status: Active

Author(s): @larry

Type: EVM Proposal

Discussions-to: PIP-8: Re-deploy to Ethereum Mainnet and Binance Smart Chain Mainnet

Created: 11/2/2022

Simple Summary

Deploy a new Compass-EVM contract to the Binance Smart-Chain Protocol and direct the pigeons to initiate valset updates on Binance Smart Chain from the Paloma Testnest-13.

Abstract

We redeploy all the EVM contracts on paloma testnet-13 to test community deployment of contracts. Let the community deploy!

Motivation

We have successfully launched and deployed Paloma EVM contracts from the Volume team. Now, we want to let the community try their hand deploying these contracts for vote on governance.

Specification Overview

This action requires two steps:

  1. Pigeons will need to update their .pigeon/config.yaml with the new details for the new chain.

Technical Specification

  1. we Run the governance command to propose governance for the new EVM chain using the block height and block hash from https://etherscan.io/block/15865280
palomad tx gov submit-proposal evm propose-new-chain eth-main 1 5000000 15865280 0xb844ad82f3be580c79b9d6cb815687aab0cfb0edbc14b338bb21d67be9747506 \
--title "PIP2: Paloma Redploy Support for Ethereum Mainnet on Paloma Testnet-13" \
--description "With the launch of the new Testnet-13 We are testing redeployment of Paloma Chain support with a fresh redeploy of the supported chains. Prior testnet Genesis included the EVM chains and this was incorrect and did not ensure that chain deployment was fully permissionless. With this redeployment of the Ethereum mainnet, we verify that target chain deployemnt is purely govenrnance and permissionless." \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas 400000 \
--from=[YourPalomaAddress] \
--chain-id=paloma-testnet-13 \
--yes

Add a new smart contract that will be deployed by pigeons to all evm chains. We will deploy Compass-EVM with this proposal.

  1. Run the governance command to deploy the smart contract to all evm chains
palomad tx gov submit-proposal evm propose-new-smart-contract '[JSON ABI BLOB]' [HEX BLOB] \
--title "Paloma Deploy the Paloma Compass EVM" \
--description "Paloma Deploy the Paloma Compass EVM to Ethereum Mainnet for Pigeons to send messages on Ethereum mainnet." \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--from=[YourAddressHere] \
--chain-id=paloma-testnet-13 \
--yes
  1. we Run the governance command to propose governance for the new EVM chain using the block height and block hash from https://bscscan.com/block/0x395aa73297c37f70cb244f655ccebbeef0526bf1e6a72349e28dc6da93da9473
palomad tx gov submit-proposal evm propose-new-chain bnb-main 56 5000000 paloma-testnet-13 22707380 0x2f22f9a414a8567ac59ad636d9256431c9810ca6969f1857da068c02d7daed48 \
--title "PIP-8: Paloma Support for New EVM Chain, Binance Smart Chain on the new Paloma Testnet-13" \
--description "Add Paloma-testnest-13 support for the Binance Smart Chain mainnet EVM for pigeons to send messages via the Paloma blockchain." \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas 400000 \
--from=[YourPalomaAddress]  \
--yes
  1. Pigeons query the EVM chain and query for the submitted block height and block hash sent by Paloma and compare them to confirm they are on the right chain for Pigeon. If someone misconfigured their files, it would throw an error that the block height and hash are not matched.

  2. To deploy Compass EVM, you need bytecode and ABI.

  3. Pigeons will also have to update their ~/.pigeon/config.yaml file to add the new EVM-chain, Binance smart Chain under the evm configuration. Pigeons will need to secure RPC endpoints for Binance smart chain.

loop-timeout: 5s
health-check-port: 5757

paloma:
  chain-id: paloma-testnet-12
  call-timeout: 20s
  keyring-dir: ~/.paloma
  keyring-pass-env-name: "PALOMA_KEYRING_PASS"
  keyring-type: os
  signing-key: ${VALIDATOR}
  base-rpc-url: http://localhost:26656
  gas-adjustment: 1.5
  gas-prices: 0.001ugrain
  account-prefix: paloma

evm:
  eth-main:
    chain-id: 1
    base-rpc-url: ${ETH_RPC_URL}
    keyring-pass-env-name: ETH_PASSWORD
    signing-key: ${ETH_SIGNING_KEY}
    keyring-dir: ~/.pigeon/keys/evm/eth-main
    gas-adjustment: 2
    tx-type: 2

  bnb-main:
    chain-id: 56
    base-rpc-url: ${BSC_RPC_URL}
    keyring-pass-env-name: BSC_PASSWORD
    signing-key: ${BSC_SIGNING_KEY}
    keyring-dir: ~/.pigeon/keys/evm/bnb-main
    gas-adjustment: 1.2
    tx-type: 0

Pigeons query the Binance Smart chain EVM chain and query for the submitted block height and block hash sent by Paloma and compare them to confirm they are on the right chain for Pigeon. If someone misconfigured their files, it would throw an error that the block height and hash are not matched.

  1. Set up your Binance Chain EVM Keys. Don’t forget your passwords!
pigeon evm keys generate-new ~/.pigeon/keys/evm/bsc-main

or import existing you existing Binance Smart Chain, BSC evm private keys

pigeon evm keys import ~/.pigeon/keys/evm/bsc-main

Rationale

We want to see more community deployments.