DEV Community

Cover image for What's left: Platform Development Update 13-December-2022
Dash Core Group Devs
Dash Core Group Devs

Posted on

What's left: Platform Development Update 13-December-2022

Hey fellow Dashers, this is a short wrap up of what happened with the Platform over the past few weeks.

TenderDash

Goals: Same block execution
Tasks:
Stabilizing

  • fix(consensus): proposer-based timestamp broken during backport in review
  • fix(consensus): ProcessProposal executed twice for a block done
  • chore(types)!: rename genesis.json quorum fields done
  • refactor(consensus): consensus state to fix deadlock on hold
  • fix(wal): improve WAL replay mechanism in review

Investigate deadlocks

  • fix(statesync): statesync stops the node when light block request fails done
  • fix(statesync): deadlock in peer up in progress
    Other:

  • Release v0.8.0

What’s Left before Testing Phase

  • Stabilize same-block execution
  • Update BLS library
  • Adjust vote extensions for withdrawal transactions
  • Improve seed node operations

GroveDB

Tasks:

  • Sum Trees merge done
  • Costs for Sum Trees done
  • Delete up tree worst case processing costs done
  • Delete up tree average case processing costs done

Features:

  • Deletion up tree in batches done
  • Removal on Root Tree storage in review
  • Inserts done
  • Deletes done
  • Batches in review
  • Proofs in review
  • Update of Costs in review

What’s Left before Testing Phase

  • Light proof feature in progress

JS SDK

Goals: Reorgs and consensus

Tasks:

  • Updating grpc-web library done
  • Fine tuning consensus rules in progress
  • DashPay Web Extension
  • Migrating extension from Manifest V2 to Manifest V3 in progress (needed for publishing to Chrome Store)

What’s Next

  • Reorgs handling and consensus rules fine tuning
  • Secure keychain storage

Protocol

Goals: V23 release, same block execution

Credit Withdrawals

  • Introduce withdrawals data contract in review
  • Implement the pooling process (type 0 only) for withdrawals in review
  • Update status of withdrawals after broadcasting in review
  • Add revision logic to IdentityCreditsWithdrawal transition in review
  • Indices from expired withdrawal transactions must be reused in progress

Same Block Execution

  • Use proposed block execution context in State Repository done
  • Update finalize block handler signature done
  • Skip process proposal if prepare proposal is already called for this round done
  • Safe single database transaction block processing done
  • Comprehensive logging done
  • Pass latest chain lock on init chain done

Other Protocol Tasks

  • Identity v2 in progress
  • Efficient Data Serialization in progress
  • Integration of average case costs done
  • Integration of GroveDB 0.7 (supports Sum Trees) done
  • Release Platform v0.23 done
  • Use FeeResult to collect block fees done
  • Credit Refunds in progress

What’s Left

Major

  • Fee Refunds in progress
  • Accomplish and test withdrawals
  • State Sync

Minor

  • Deal with situation where fees are higher than Balance
  • Verify fee processing costs
  • Asset Lock and Unlock transactions integration
  • BLS library rust binding
  • Masternode reward distribution
  • Add Sum Tree feature for Pool trees

Rust Port Update

  • Integrate Rust DPP into SDK, Drive, DAPI and test suite in progress
  • Porting Consensus Errors Framework: 75/76 errors ported in progress
  • Successfully run platform test suite and test for Drive and Dapi planned

Top comments (0)