The BSV Blockchain is pleased to announce that ARC v1 is now officially production-ready. ARC is a transaction processing service which validates and stores your transactions before broadcasting them over the P2P network. Once mined, a Merkle Path is sent back to the originator as confirmation.
ARC was first developed in January 2023 as a proof of concept. It subsequently launched in public beta back in September 2023 and has gone through significant testing both in terms of developer experience, and production scaling and stability.
‘ARC is ready for business. Hardened by a year of testing, with stable performance at scale,’ said Darren Kellenschwiler (Technical Lead of Utilisation).
Who is ARC for?
ARC is optimised for miners to run, and application developers to broadcast to, said Kellenschwiler. ‘The idea is that you can outsource the fuzziness of the p2p network for broadcasting transactions and retrieving Merkle paths. This is especially useful if you’re developing a mobile app where a steady p2p connection is infeasible.’
Kellenschwiler added that ARC is different from the prior mAPI service which used a JSON-RPC method into a single node to broadcast rather than the p2p network. ‘The original design was meant to be independent of a node entirely such that any business could run an instance. Over time we found that granular status and p2p stability were more important to users, so the release targets those who can pair with a node operator,’ he said.
Another key difference is EF or Extended Format transactions. This is a requirement when submitting transactions to ARC, said Kellenschwiler.
‘It allows swift transaction validation on receipt and encourages the adoption of SPV. The source transaction data which is available to any wallet when signing is included within EF transactions – this way a recipient can validate script execution and transaction fees. It takes us one step closer to SPV, which helps the whole ecosystem scale efficiently.’
Understanding ARC
ARC consists of three microservices. All the microservices are designed to be horizontally scalable and can be deployed on a single machine or multiple machines.
‘API ingests transactions, runs EF validation, and sends them to Metamorph. Metamorph stores transactions, broadcasts them, and keeps track of their propagation status, calling back originators with status updates,’ said Kellenschwiler.
‘BlockTx listens on the p2p network for new blocks. When announced it processes the block data to get a list of txids, which it uses to calculate Merkle paths for each transaction stored in Metamorph.’
You can read more about ARC and its different microservices here.
A team effort
While the BSV Blockchain is responsible for the ARC service, many partners and individuals helped get the project where it is today, said Kellenschwiler.
‘The team at TAAL has been developing the open source code improving performance and resolving many bugs in an operational deployment. Gorilla Pool has also been very helpful and supportive from the start giving additional feedback and running as early adopters.
‘HandCash, Tokenized, Vaionex, Elas, and many independent developers have all been extremely helpful in providing critical feedback which has gone on to improve functionality to meet the needs of application developers.’