Accumulate Testnet 4.0 Golden Gate Release

Written by Ben Stolman

On April 6, 2022

With article contributions from Drew Mailen

Accumulate is pleased to announce the deployment of Testnet 4.0, Golden Gate. Named after the landmark art deco suspension bridge completed in 1937 that connects the San Francisco Bay with the Pacific Ocean, the Golden Gate Testnet release includes a robust list of upgrades.  

Compatibility  

From this point onwards (until further notice), there will be two Testnets to make sure that third-party applications can remain stable. In addition, the DevNet will remain. The mobile application is compatible with the Stable version of the Testnet. 

  1. Testnet Stable is Testnet 3.0 
  2. Testnet Beta is Testnet 4.0 
  3. DevNet is DevNet 

The mobile application will point to the Testnet Stable (3.0) endpoint, which will be compatible with the Testnet Stable Branch (testnet-stable-release-v0.4.0) in the CLI and Testnet Stable option in the Explorer (https://explorer.accumulatenetwork.io/). To use new features in Accumulate, connect to the Testnet Beta (4.0) Branch (testnet-beta-release-v0.5.1) in the CLI and use the Testnet Beta option in the Explorer (https://beta.explorer.accumulatenetwork.io/). To interact with the Devnet use the Develop branch in the CLI and the Devnet option in the explorer  (https://dev.explorer.accumulatenetwork.io/). 

To switch from one branch to another in the CLI type git branch and the branch you would like to connect to. Make sure to do a git pull and go build to get the latest updates in the CLI. 

Protocol Highlights 

  • Basic Routing and Connection Framework for Nodes – routing identities to the appropriate nodes based on the health of a node. 
  • Initial Implementation of Managed Chains – The ability to assign and un-assign a manager to any account type except for Lite Accounts (i.e. ADI Account, Sub ADI Account, Key Book Account, Key Page Account, Token Account, Data Account, etc.) 
  • Lite Token Account Identity and Directory – In the future, Lite Token Accounts will be able to support different token types. A Lite Token Account Identity will act as a directory using the same public key to create different Lite Token Account types. 
  • Manual ACME Oracle – To determine the payout of Credits based on the price of ACME, there will be a manual oracle in place that will determine the price. 
  • Binary Encoding Scheme – implementation of backward-compatible encoding scheme. This will enable the protocol to grow and expand while allowing ecosystem developers to make updates on their own time. The encoding code generator was expanded with the capability of supporting other languages such as Dart and Javascript. Ecosystem developers no longer have to handwrite encoding code, which makes it much easier to update as the protocol evolves.  
  • Multi-sig threshold support – Clearly defines the n in the m of n for a multi-signature transaction 
  • Sub-ADIs – ADIs that are nested within an ADI that contain its own set of Key Book, Key Pages, Keys, and Accounts. Creating a Sub-ADI is just creating an ADI where the URL is foo/bar instead of foo (also it has to be signed by foo).  
  • Nested Key Pages – Instead of having ADI/KeyBook and ADI/KeyPage, pages will now be nested within a KeyBook where the starting page is 1 and each additional page is incremented by 1. For example, ADI/Keybook/1, ADI/KeyBook/2 etc. 
  • Locked Key Pages – Add the ability to lock a key page. A locked key page cannot modify (or add) keys. A locked key page cannot execute ‘UpdateKeyPage’ except when a key is modifying its own spec (keys can still update themselves).
  • Add memo and metadata field to the transaction – A user can specify additional data they want to add to a transaction. 
  • Support Factom RCD1 signatures – Factom has a signature method called RCD1 that needs to be supported for upgrading Factom to Accumulate 
  • Support querying lite data accounts by URL (Factom) – Factom compatible Lite Data accounts can be queried  
  • Factom Scraping Tool – Tool for scraping data from data chains in Factom to Lite Data Accounts in Accumulate. As a side note, Factoid transaction history and Entry Credits will not be ported over to Accumulate. However, the Factom explorer will be maintained to preserve Factoid History. The Factoid Account balances will be converted to ACME tokens in Accumulate 
  • Burn ACME to Buy Credits – The API to buy credits has changed requiring a user to specify the maximum amount of ACME they want to spend to buy credits.  
  • Exploratory Data Server Network (DSN)- Every major block, the network will produce an incremental snapshot that rolls up the last 12 hours of changes across the network. That will be sent to the DSN, which will be its own Tendermint network. The DSN will process the snapshot and send back proof that it got everything. When the network receives that proof, it will prune the historical records from that major block. 
  • Index Chains – index chains allow the protocol to timestamp transactions within Accumulate 

Accumulate 0.5.1 Release Notes by Wisdom Nwokocha – April 6, 2022

🚀  New 

  • We have added support for executing multiple key page updates as a single transaction (We have added multi-operation key page updates) 
  • We added API support for other signature types 
  • Create an access control framework 
  • Add transactions for adding, removing, updating a validator 
  • Envelope and synthetic transaction redesign 
  • Capture evidence from Tendermint 
  • Capture votes from Tendermint 
  • Create index chains 
  • Add an API call that constructs a proof of the state of an account 
  • Add memo and metadata field to the transaction 
  • CLI Command to display how many Credits you receive per ACME 
  • Add the ability to lock a key page 
  • Support Factom RCD1 signatures 
  • We created Sub-ADIs 

🔧  Fixes 

  • A synthetic transaction with an invalid origin is not saved 
  • We fixed a bug that could cause the Testnet to stall due to an invalid synthetic transaction We built a solid Monitoring infrastructure 

🔧  Improvements 

  • Key page entries must be key hashes 
  • Deprecate extids on data accounts 
  • Document API methods 
  • Rename the pending chain 
  • Run two nodes side-by-side 
  • Use ‘timestamps’ instead of ‘nonces’ 
  • Track the key page version 
  • Track issued tokens instead of the remaining reserve 
  • Accumulate only check the nonce of the first signature 
  • Burn ACME to buy credits 
  • We added Nest Key Pages with Key Books (acc://ethan/book/1) 
  • Keys must be hashed with SHA-256 

Accumulate 0.5 Release Notes by Wisdom Nwokocha

🚀  New 

  • Expose the number of signatures required for a pending transaction in the protocol 
  • Assign a manager to an account in the CLI 
  • Lite Account Identity in the CLI 
  • Add Scratch Flag to ADI Data Account and ADI Token Account Creation in CLI 
  • Add Token Issuance to CLI 
  • Prove the inclusion of an entry in a chain 
  • Support signatures other than ED25519 in the protocol 

🔧  Fixes 

  • Add human-readable output for token transactions in the CLI 
  • URL-based query for a data entry by hash returns the wrong entry hash in the protocol 
  • CLI can’t read Account Balance 

🔧  Improvements 

  • Improved the Update key book references in the protocol 
  • Allow the version check to be ignored when onboarding a node in the CLI 
  • Create a CLI Command to Un-assign a Manager 
  • Improved Document new encoding scheme in the protocol 
  • Improved manual ACME oracle in the protocol 
  • Improved the return Threshold of Pending Transaction Through API in the protocol 
  • SDK Backwards compatibility for token issuer 
  • Use the SDK client interface improved 
  • Change Token Type for Token Issuer  
  • Display Synthetic Transaction Success or Failure in CLI  
  • Add Command to CLI to show Pending TXs 
  • Make a chain unmanaged 
  • Add a manager to an existing chain 
  • Assign manager key book when a record is created 

More specific additions include: 

Explorer 

  • Signature Chain Support  
  • Rendering of ADI Token Issuance Account 
  • Rendering of Custom ADI Token Account 
  • Rendering of Custom Token Types
    Rendering of Sub-ADIs 
  • Rendering of Nested Key Pages 
  • Multi-Signature Support 

CLI 

  • Assigning and un-assigning a manager to/from an account 
  • ACME Oracle 
  • Sub-ADI Creation 
  • Nested Key Books and Key Pages 
  • Multi-Signature Support 

Infrastructure  

  • Create a Validator TX (Will be used to onboard Factom ANOs, Dynamic Mining, etc.) 
  • BVN and DN run together on the same server 
  • Docker container for easy deployment of Node (Clone Accumulate/Docker ./run)  
  • Initial Implementation of Node CLI 

Related Articles

Accumulate Governance

Accumulate Governance

Accumulate developers are announcing the release of the Accumulate official Governance docs, which include the network's constitution, its...

Accumulate Testnet 6.0 Zakim Release

Accumulate Testnet 6.0 Zakim Release

With article contributions from Drew Mailen & WIsdom Nwokocha Accumulate developers are announcing the release of Testnet 6.0, Zakim...

Accumulate Whitepaper Release

Accumulate Whitepaper Release

Developers of Accumulate are announcing the highly anticipated release of the Accumulate Whitepaper.  The document provides a...

Accumulate Testnet 3.0 Helix Release

Accumulate Testnet 3.0 Helix Release

With article contributions from Drew Mailen Today is the official launch of the Accumulate Testnet 3.0 Helix, named after the landmark...

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *