Summary
During the first quarter of 2023 the Joint L1 Task Force completed several large-scale upgrades for the Luna Classic blockchain. These included v1.0.5 hotfix, v1.1.0, and v2.0.0 (v2.0.0 release candidate was released on March 31st). The v2.0.0 upgrade is a major blockchain upgrade containing upgrades to Cosmos SDK v0.45.13 and Tendermint v34.24, and will be deployed in the columbus-5 mainnet through a chain-halt upgrade in late April.
Given a successful first quarter, it is proposed that the L1 Task Force receives a Q2 mandate to continue development on the blockchain. In Q2 the L1 Task Force will focus on extensive testing for the v2.0.0 upgrade and building out the testnet, and deploy v2.1.0, bringing the blockchain to parity with other cosmos blockchains.
In addition, the L1 Task Force will seek to work with an L2 team* to develop ‘Classic Station’ (dependent on a separate governance proposal to come at a later date) and provide high-demand features such as on-ramp capability. The main benefit of maintaining an up-to-date forked version of Station includes streamlining the testing and upgrade scheduling process while reducing the burden on other 3rd party organizations.
The L1 Task Force team members for Q2 will consist of Superman, Till, a new senior developer, Vinh, and two junior developers and will be managed by LuncBurnArmy. TGF and LuncBurnArmy (L1 Task Force) accept any and all recommendation of replacements for the open senior developer role. Each recommendation must have a strong track record of layer 1 development in the crypto environment with proper documentation along with the ability to accept a 3-month contract and perform the duties listed under Q2 activities.
*The L2 team and ‘Classic Station’ is subject to a separate governance proposal.
Primary Benefits anticipated by the End of Q2
- Upgraded Cosmos SDK and Tendermint environment
- Minimum deposit on governance to prevent scam proposals (Minimum initial deposit for deposit proposals)
- Parity with other Cosmos blockchains
- Fee Sharing incentive feature for smart contract developers *Activation of feature dependent on separate governance approval
- Options for bridging cross-chain liquidity assessed
- Station on-ramp investigation and completed proof of concept
Q2 Activities
April, 2023
- Finalize pre-release testing of Core v2.0.0 on testnet and bump to “release”.
- Finalize pre-release testing of Oracle-Feeder v2.0.4 on testnet and bump to “release.”
- Prepare Terra.js v2.0.0 pre-release & ensure peer review
- Bump Terra.js v2.0.0 to “release” state and push changes upstream to TFL so they can prepare new NPM packages
- Prepare Terra.proto v2.0.0 pre-release & ensure peer review
- Bump Terra.proto v2.0.0 to “release” and coordinate NPM packages with L2 team*
- Work with L2 team to patch GUI assets (Station, extension, mobile) with new Terra.js v2.0.0 NPM package
- Work with existing validators to expand the testnet to a targeted 30% of the validator set. All existing validators are requested to keep an identical configuration of their production instance available for scheduled “release testing” on the testnet.
- Schedule v2.0.0 upgrade on mainnet and provide on-call support during scheduled chain-halt
- Review, update, and prioritize product backlog for L1 team
May, 2023
- Integrate FeeShare module from Juno for release in v2.1.0
- Finalize CosmWasm upgrade and prepare “migration documentation” for L2 developers
- Finalize pre-release testing of Core v2.1.0 on testnet and bump to “release”
- Schedule v2.1.0 upgrade on mainnet and provide on-call support during scheduled chain-halt
- Finalize Terra Operator v0.0.1
- Overhaul CI (continuous integration) workflows
- Establish IBC to Kujira
June, 2023
- Update Luna Classic developer documentation
- Assess migration path for Tendermint => CometBFT
- Research options for bridging cross-chain liquidity (i.e., Axelar, Portal bridge/wormhole)
- Review on-ramp technologies for Classic Station and develop proof-of-concept
- Prepare Q3 budget and agora proposals
- Finalize Q2 work and schedule agora posting and proposal vote for Q3 funding
The requested budget for Q2 is:
- 1 full time developer (need replacement) at a rate of $12.5K USD per month
- 1 part time developer (Till) at a rate of $6.25K USD per month
- 1 part time developer (Superman) at a rate of $6.25K USD per month
- 1 part time developer (Vinh) at a rate of $6.25K USD per month
- 1 part time project manager (LuncBurnArmy) at a rate of $5.0K USD per month
- Discretionary budget – 1 part time junior developer at a rate of $1.25k USD per month
- Discretionary budget – 1 part time junior developer at a rate of $1.25k USD per month
**If any members of the L1 team do not wish to return, a suitable replacement will be interviewed, to fill the position to prevent further delays.
OPEX Budget
Monthly OPEX budget of $3k, which averages $1k per developer. This budget amount was ideal for Q1, and we would like to maintain this same OPEX amount moving forward. Note: Any unspent OPEX funds will either be rolled into the following quarter, or returned to the community pool should the L1 Task Force not be renewed.
- Discretionary computing costs (linodes, AWS, other)
- Microsoft 365 subscription for development team
Total Budget Requested
Budget for L1 development will be requested quarterly, and subject to successful deliveries and community governance. For quarter 2, the budget requested is,
$37.50k = $12.5k (need replacement) x 3 months
$18.60k = $6.25k (Till (Fragwuerdig)) x 3 months
$18.60k = $6.25k (Superman) x 3 months
$18.60k = $6.25k (Vinh) x 3 months
$15.00k = $5.00k (Project Manager) x 3 months
$7.5k = $1.25k (junior devs) x 2 x 3 months (Discretionary Budget, as-needed development basis, paid hourly at a rate of $30 /hr. Any unused budget to be returned to community pool at the end of the quarter)
$9k = $1k OPEX/compute budget per month x 3 senior developers x 3 months
—–
$124.8k Total for quarter 2
1.015 B LUNC - LUNC conversion at 0.000123
Distribution of payments will happen monthly at the end of every calendar month given appropriate milestones have been achieved, approval from the oversight committee, and approval from current Terra Grants Foundation signers of the multisig. While this proposition is independent of TGF, we are asking TGF to assist with reports, community engagement, and accountability. Any surplus budget amounts will be sent back to the community pool at the end of the quarter.
—–
APPENDIX
Glossary of Terms
- Core v2.0.0 : This major release contains Tendermint v0.34 (blockchain consensus engine, peer-to-peer network application, and proof of stake), Cosmos SDK 0.45 (Software development kit)
- Oracle-Feeder : Oracle price feeder for validators.
- Terra.js : A JavaScript SDK for writing applications that interact with the Terra blockchain from either Node.js, browser, or React Native environments and provides simple abstractions over core data structures, serialization, key management, and API request generation.
- Terra.proto : JavaScript, python library to help construct Tx messages that can be sent to the blockchain
- GUI : Graphical User Interface
- NPM : node package manager for the JavaScript programming language. It is a command line tool that installs updates or uninstalls Node.js packages within your application.
- Product backlog : a prioritized list of work for the development team that is derived from the quarterly roadmap and its requirements.
- FeeShare Module : A feature that allows developers to receive a portion of the gas fees from their smart contracts. See: FeeShare - Junø (junonetwork.io)
- Terra Operator : Infrastructure as a service for validators allowing for the creation of a node from a command-line interface. Allows validators to set up a full-stack environment including a validator node, FCD, LCD.
- CometBFT: Successor to Tendermint Core. State machine replication engine for the interchain.
- Interchain Accounts : Interchain Accounts is the Cosmos SDK implementation of the ICS-27 protocol, which enables cross-chain account management built upon IBC. Regular accounts use a private key to sign transactions. Interchain Accounts are instead controlled programmatically by counterparty chains via IBC packets. This functionality will allow for the Luna Classic blockchain to interact with other blockchains and sidechains using Interchain technology.
- IBC : The Inter-Blockchain Communication Protocol (IBC) is a protocol to handle authentication and transport of data between two blockchains.