-
Notifications
You must be signed in to change notification settings - Fork 116
Home
Updated: Feb 14 2022
This document summarizes all the Eng projects in a human-readable format sorted by priority and objective. See Project board for details on each task: https://github.com/OLSF/libra/projects/6
Documentation lives in the ./ol/documentation
folder of the repo.
- general overview: https://github.com/OLSF/libra#readme
- core devs: https://github.com/OLSF/libra/tree/main/ol/documentation/core-devs
- operators: https://github.com/OLSF/libra/tree/main/ol/documentation/node-ops
- Make Network Reliable
- Redirect efforts of volunteers away from operating infrastructure into productive labor
- Make Carpe part of security model and participatory
- Cross chain interfaces
- Catch up to upstream Diem
- Revert to the Diem standard of error reporting in Move (requires network upgrade)
- How to make the the Functional tests useful (change diem_vm/errors)
- Create 0L error parser in ol/types, to use throughout tooling (including Carpe)
-
Rex Testnet:
- Identify "managers" of Rex, which will provide nodes
- Patch
make
scripts for deploying Rex - Turn
make
scripts into Rust programs for starting network
-
Epoch Archive
- Grant more users ability to write to epoch-archive
- Patch
make
tooling
Goal: people have a limited amount of time to spend on 0L. We want to direct those efforts to productive uses. Managing Node downtime is not a productive use.
-
Documentation on troubleshooting.
- People asking repeated questions in Discord. There needs to be an owner for the troubleshooting documentation.
-
0L Start reliability
- No unwraps that cause panic on 'Node' object
- Fetch list of upstream_peers from same list which Carpe uses (may need to rename the field for clarity, needs to be a list of fullnodes, not validator node).
- Automatic version numbering on diem-node and other cli tools we publish.
Goal: Testing upgrades is a long and tedious process. This project augments upgrade integration tests to simulate network upgrades on a local swarm, based on snapshots from mainnet.
- Fork into local Swarm.
- ol/genesis-tools to finalize starting swarm from snapshot, and overwriting the validator set for testing purposes.
Goal: An arithmetic error made payments to Carpe users go down dramatically. The error was fixed, but the protocol didn't account for ways to make the missed payments return to accounts.
- Correct the payouts to Carpe Users that were underpaid from epoch 14-50.
- Calculate shortfall.
- Provision the minting code to be lazily paid out (so it doesn't congest the epoch boundary).
- Users must make an affirmative transaction to claim the difference.
- Implement the "claim" transaction in txs.
- Implement the "claim" ux in Carpe
Goal: Carpe is in Alpha mode. Moving to a wider beta release requires reliability and features.
- PRIORITY error reliability: every action should have a corresponding human readable error, and UI for the error. Every account action should have a UX to confirm that the action will take place. No silent actions. Carpe being disconnected from a fullnode doesn't show any UI presently. Need a separate interface which shows it cannot connect to the network. https://github.com/OLSF/libra/issues/933
- Mac OSX keychain access is being requested after every proof. Users may have mining interrupted and be unaware.
- Over the Air upgrades: deploy changes across code
- Move repo to /libra: It's too difficult to manage separate repos.
- Transfers between accounts which are not slow wallets.
- Clearly display when an account is a Slow Wallet, Community Wallet, Validator
Goal: Make Validators into DAOs ("teams"), and decentralize the responsibility and rewards, making Carpe users part of the security model.
- Conclude Ratchet algorithm for increasing decentralization threshold.
- Finalize Carpe Controllers
- Fetch state from chain.
- Calculate expected rewards
- Submit Transactions for joining or changing Teams
Goal: allow assets to flow between chains.
-
Ethereum Bridge High level definitions: https://docs.google.com/document/d/1jGj4PZSqYMMmOfLnPS-SCZ_hzmUfRt608pfeE_1jKVw
- Eth development environment
- Eth Merkle solidity POC (from Optics)
- Bridge orchestrator POC
- Merge Secp and keccak hashes (figure out deployment path)
Goal: pull in the latest major version changes from Diem. Finalize Merge QA