DEV Community

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

Posted on

What's left: Platform Development Update 29-November-2022

Here's another portion of updates on what's left to do before final Platform testing.

TenderDash

Goals: Same block execution

Tasks:

Integration of same-block execution with Drive in progress

  • Released v0.10.0-dev.5 done

Stabilizing

  • fix(wal): improve WAL replay mechanism in progress
  • fix(e2e): catchup round number is not correct done
  • refactor: make all genesis-doc fields (except chain_id) optional done
  • feat(abci): put full block in RequestFinalizeBlock done

Investigate deadlocks

  • refactor(consensus): consensus state to fix deadlock in progress
  • Test: add deadlock detection with go-deadlock done
  • fix(statesync): statesync stops the node when light block request fails in progress
  • fix(statesync): deadlock in peer up in progress
  • fix(consensus): commits received during state sync are lost #1867 done

What’s Left before Testing Phase

  • Stabilize same-block execution
  • Update BLS library
  • Adjust vote extensions for withdrawal transactions
  • Drive integration

GroveDB

Tasks:

  • Sum Trees merge in review
  • Fix batch not properly propagating child root hash done
  • Average case processing costs done

What’s Left before Testing Phase

Major

  • Sum Trees merge in review

Minor

  • Average case processing costs done
  • Some code polishing
  • Light proof feature

SDK

Goals:
Rework chain synchronization process (SPV)

Tasks:

  • Reworking chain synchronization process done
  • Manual QA done
  • Stabilizing Platform related workflows (Platform Test Suite) done
  • Updating grpc-web library in progress

DashPay Web Extension

  • Wallet balance in USD done
  • Create/Reset/Backup Wallet flows done
  • 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: Same block execution, fees and withdrawals

Tasks:

Fee finalization (v23) in JS Drive and DPP done

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

Same Block Execution:

  • Use multiple database transactions for block processing will not be implemented
  • Provide signature and block time in query handlers done
  • Fix for Reconnect logic in DAPI done
  • contactRequest documents allow invalid toUserIds done
  • Identity v2 in progress
  • Efficient Data Serialization in progress
  • Integration of average case costs in progress
  • Integration RS-Platform into Platform done

What's left:

Major

  • Fee Refunds
  • Accomplish and test withdrawals

Minor

  • Logging of same block execution
  • Use block candidate context in State Repository
  • 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

Rust Port Update

Tasks:

  • Integrate Rust DPP into SDK, Drive, DAPI and test suite in progress
  • Initial glue figured out, DPP tests ported 159(68+91)/1174 in progress
  • Porting Consensus Errors Framework: 30/76 errors ported in progress
  • Successfully run platform test suite and test for Drive and Dapi planned
  • Integrating working BLS scheme into Rust DPP done

Top comments (0)