- Following the launch of ARK core v2, the team has put down a series of ambitious developments planned for the future
- They have shared their plans on how the core will be changed and improved as the project progresses
- These upgrades and changes also address some of the existing issues with ARK
After the launch of ARK Core v2 on November 28th, a lot of people have been waiting for an update about future plans. For more than 2 weeks, the version 2 has been up and running on the ARK Public Network. The team plans to continuously make and implement upgrades and new features. They also plan to aggressively roll out more release schedules and various changes for the months ahead.
The future of ARK in brief
Here’s what everyone can expect on the upcoming upgrades, adhering to the Semver model:
2.0.0 – the recent major upgrade, with the the initial non-backwards compatible Mainnet release
2.x.0 – a minor release, this will add new functionality and will also cover bigger changes. It will also introduce new features for higher end impacts
2.0.x – this is a patch, which will have minor improvements and will be backwards-compatible bug fixes
As for the core upgrades, here’s what users can expect:
ARK Core 2.1.0: Full migration from JavaScript to TypeScript
For the Core 2.1.0 upgrade, the core development team is already in the final stage of migrating core v2. It will be moved from JavaScript to TypeScript. Static type-checking will also be allowed along with the latest ECMAScript features. The moment testing of the new TS implementation on the ARK Developer Network is done, ARK team will launch the codebase and then the Delegates will upgrade the Public Network.
ARK Core 2.2.0: Infrastructure Improvements for AIP 11 & AIP 18
This upgrade will have various infrastructure upgrades that are needed for the development of AIPs 11 and 18. This will also increase the VendorField to 256 bytes in order to open more use cases and possibilities. It will also help to take the full advantage of the SmartBridge approach.
ARK Core 2.3.0: New transaction types (AIP 11 and AIP 18)
This is one of the biggest and time consuming changes they have made for the end users. The integration of new transaction types will provide more use cases as well as tools for the ARK Ecosystem. Moreover, there will be 4 new transaction types including timelock, multipayments, delegate resignation, and IPFS.
AIP 18 — Multi-signature protocol
This upgrade supports multi-signatures. However, the current implementation is still lacking. Thus, they have decided to implement a more powerful and efficient protocol.
ARK Core 2.4.0: Core CLI and Core app via yarn global
Core will eventually be an npm module. It can be installed and interacted globally. Its options and configuration will be managed in the same manner through the use of ark configure. Ark configure will have an interface to manage it. This will be considered as an alternative approach from Ark Core Commander and is perfect for those who would like to have everything as part of the Core package to manage.
ARK Core 2.5.0: Halfway to v3 — Dropping all legacy API and RPC support
End of Life for v1 API and the old RPC will come halfway through the v2 development cycle. This is expected to happen in the middle of year 2019. It will also give the developers relying on the v1 API some time to migrate to API v2.
ARK Core 2.6.0: Rewrite P2P layer to utilize different technology to improve performance and reliability
This version is where the communication between the ARK nodes happens. It is also the communication level where nodes interact with each other, and where they pass data back and forth. They will also come to conclusions according to the predefined set of rules. The only problem is that every API request needs a new connection to be opened. Moreover, each request will add more time. To resolve this, they are still investigating switching from doing P2P through API to P2P via Websockets. They will dive deeper into the solutions once they are closer to the cycle of v2 development.
ARK Core 2.7.0: Implement Parallel Block Downloading
A bottleneck of the P2P layer over API is block downloading when one is trying to sync a node from the network. They currently download blocks in 400 packages. The process of downloading is done one after the other, which is 2 to 3 times faster compared to v1. However, it still takes a lot of time to sync from block 0 to the current height. Currently, syncing from 0 will take about 8 to 15 hours.
ARK Core 2.8.0: Configuration presets, hot reloading and easier updates
In this release, they’ll be implementing “hot reloading”. Once the configuration is modified, the plugins that have been affected by the changes will then be reloaded at runtime and will not need the Core process to restart.
ARK Core 2.9.0: Implement full public JSON compliant API
JSON-API will be based on the API v2. However, it will be extended to make a 100% match with the JSON API specifications.
ARK Core 3.0.0: Plugin system refactor
Here, they will make additional changes and upgrades to the current plugin system. Right now, plugins have an index.js file that exports an object with information about the plugin. Soon, the refactored plugin system will help with plugin verification and streamlined development.
These updates summarize what users can expect this 2019 from Core. Core development plans will also be developed and implemented in parallel.