PIP-86: Paloma Mainnest and Tesnest Upgrade to Paloma v2.1.0 and Pigeon 2.1.0

Proposal: PIP-86: Paloma Mainnest and Tesnest Upgrade to Paloma v2.1.0 and Pigeon 2.1.0

Status: Proposed

Author(s): @birdlady

Type: Software Upgrade

Discussions-to:

Created: 08/23/24

Simple Summary

This is a software upgrade proposal for Paloma and Pigeon both to v2.1.0 Paloma’s TESTNEST and MAINNEST tumbler networks. This release includes a bugfix for pigeon feed and adds the skyway commands to REST. It also adds new functionality to allow anyone to use Paloma’s validator set to deploy contracts to any supported Paloma target chain.

Abstract

This is a software upgrade proposal for Paloma and Pigeon both to v2.1.0 for Paloma’s TESTNEST and MAINNEST tumbler networks. This release includes a bug fix for Pigeon feed and adds all skyway bridge commands to REST as well as new functionality to allow anyone to use Paloma’s validator set to deploy contracts to any supported Paloma target chain. Users may now pay in advance and schedule deployment of contracts as well as execution of contracts.

Motivation

The motivations for this Paloma upgrade include the following:

  1. Allow anyone to use Paloma network as a DePin RPC network for smart contract deployment
  2. Bug fix for pigeon feed
  3. Add all skyway bridge commands to REST GW, so that they can be added to the JavaScript and Python SDKs.

Specification Overview

The specification for this release includes the following features:

  1. Allow anyone to use Paloma network as a DePin RPC network for smart contract deployment
  2. Bug fix to allow both 20 and 32 byte addresses from events
  3. Add all skyway bridge commands to REST GW, so that they can be added to the JavaScript and Python SDKs.

Technical Specification

Paloma and Pigeon v2.1.0 upgrades included the following:

  • feat: deploy user smart contracts #1200 and #427
  • feat: add all skyway endpoints to REST #1272
  • fix: allow 20 and 32 bytes addresses from events #426

Prior to upgrade

  1. An upgrade proposal that must be submitted by anyone running a node on the network. This proposal should have the correct block height.
  2. Please use the following spreadsheet to calculate the approximate Block Height. https://docs.google.com/spreadsheets/d/1eoXoDWWYHIOYbdPiv8B6vfwDUUkelZgeifnX4foa7yw/edit#gid=0
  3. This upgrade proposal requires 10 GRAIN or 10000000ugrain for deposit for voting.
  4. IMPORTANT: The upgrade height is the block height where the chain halts and requires the upgrade. Allow at least one (1) day AFTER voting end time and upgrade-height for 2/3 of the network to have downloaded the new binary and prepped for the switch over to avoid/minimize downtime of the Paloma chain.
  5. The Target block height for chain halt for this proposal is tentative 22647769 or approximately 08/26/2024, 8:09 UTC See (Block height: 22647769)
palomad tx upgrade software-upgrade v2.1.0 \
--upgrade-height 22647769 \
--upgrade-info '{"binaries":{"linux/amd64":"https://github.com/palomachain/paloma/releases/download/v2.1.0/paloma_Linux_x86_64.tar.gz"}}' \
--title "PIP-86: Paloma  Mainnet Upgrade to Paloma v2.1.0" \
--summary "PIP-86: Paloma  Mainnet Upgrade to Paloma v2.1.0" \
--chain-id tumbler \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--node <Your node> \
--from <Your Paloma Address>  \
--no-validate \
-y
palomad tx gov submit-legacy-proposal valset \
propose-pigeon-requirements v2.1.0 \
--target-block-height 22647771 \
--title "PIP-86: Paloma  Mainnet Upgrade to Pigeon v2.1.0" \
--summary "PIP-86: Paloma  Mainnet Upgrade to Pigeon v2.1.0" \
--chain-id tumbler \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--node <Your node> \
--from <Your Paloma Address> \
-y

How to Vote on the Proposals 104 and 105

palomad tx gov vote 104 yes \
--chain-id tumbler \
--from <Your Paloma Address> \
--fees 400ugrain \
--node <Your node> \
-y

palomad tx gov vote 105 yes \
--chain-id tumbler \
--from <Your Paloma Address> \
--fees 400ugrain \
--node <Your node> \
-y

How to check if 2/3 of the network is online after the vote is complete

curl -s localhost:26657/consensus_state | jq -r ".result.round_state.height_vote_set[0].prevotes_bit_array"

—> needs to return ≥ ~0.67 for the chain to start up again

To see which validators are online with the new binary, use GitHub - blockpane/pvtop: top-like tui for watching validator pre-votes on Tendermint chains

Rationale

We are upgrading Paloma to achieve the following objectives:

  1. Allow any developer to deploy smart contracts through Paloma
  2. Make Paloma easier to use for developers who want to use the bridge functionality

About Paloma

Paloma wants to be the fastest relay chain in the world with the most decentralized network of validators that can attest to any transaction with the fastest possible execution. Paloma aims to make it easy for developers to control smart contracts on any Solana, Ethereum L1, L2, and L3 chain.

To learn more about Paloma, please visit https://palomachain.com

To follow the project on Github, please star the project GitHub - palomachain/paloma: The fast blockchain messenger protocol

To participate in the community, please join the Paloma Discord: Paloma