Dolphin V18 Deep Dive

Details of the upcoming, streamlined Nano node release

We’ve been getting many questions about the upcoming release from our excited community members, so today we are taking a deep dive into Dolphin to explore this fast and friendly update to the Nano node.

Clean and sleek

A big goal for this release was to not only clean our backlog and tracking systems up, but also make all the small tweaks and optimizations set aside during the launch of larger features in previous updates like Boulton. This release will glide onto the network like our intelligent, oceanic friends.

Familiar seas

Some of the more significant updates in Dolphin were mentioned in a previous update so head there for more details on local account priority bootstrapping (EDIT 2/15/19: This feature will not be included in the Dolphin V18.0 release and is instead being considered for implementation in the future), local timestamp tracking, and more.

New waters

Although some of our community members have been following these in Github, we have some new features to highlight for this release:

Cached Representatives and Peers

The node will hold a cache of representatives to reference their weights for faster voting on all accounts across a wallet, instead of getting representative weights for each account individually. This provides node performance improvements especially for exchanges and services with heavy wallet usage. It will also cache nodes it has peered with to help reduce discovery times and related network traffic.

Support for additional local data

The upgrade process mentioned further below will update the database by adding new columns and denormalizing parts of the data structure. This “sideband” update will consolidate most of the block-related data into a single table to help reduce CPU usage when performing certain actions on blocks and provide better management of legacy blocks.

The new pieces of data added include a local timestamp and height. The height is the current count of blocks on the account chain at that block, which sets the foundation for future changes leading up to block cementing.

Various other notable updates

Many additional updates have been made, and the following list includes some of the more noteworthy items:

For the many other updates please follow along with in our V18 Github milestone tracker.

Receding tides

A few items on their way out of the node or further back in the schedule:

Deprecation of rai/lib (renamed to nano/lib)

The API within the rai/lib folder is being deprecated in this release and will be removed in a future release.

Confirmation height moved to a future release

Although the groundwork for this awesome feature is being included in Dolphin through the database updates and block height addition, storage and use of confirmation height to cement blocks has been moved out to a future release to allow further testing.