ARC
ARC is a cutting-edge transaction processor that streamlines the submission of transactions to the BSV network. By providing seamless connectivity and exceptional performance, ARC paves the way for unparalleled global scalability in the BSV ecosystem.
API Interaction
- Interact with the REST API microservice to submit transactions, authenticate, and validate data.
Metamorph Processing
- Transactions are sent to Metamorph, which processes and resends them if they are not acknowledged by the network within a certain time period.
BlockTx Handling
- BlockTx processes blocks mined on the BSV network and propagates transaction statuses to Metamorph instances that have subscribed to this service.
Callbacker Notifications
- Callbacker sends callbacks to clients when a transaction has been accepted by the BSV network.
Transaction Completion
- Once the transaction is processed and validated, it is included in the next block, and the client receives a confirmation through the Callbacker microservice.
ARC Components
Learn more about each component of ARC and how they work together to create a seamless transaction processing experience.
API
API is the REST API microservice for interacting with ARC. It handles authentication, validation, and sending transactions to Metamorph. The API communicates with one or more Metamorph instances using client-based, round-robin load balancing.
Metamorph
Metamorph is a microservice responsible for processing transactions sent by the API to the BSV network. It re-sends transactions if they are not acknowledged by the network within a certain time period (60 seconds by default). Metamorph is designed to be horizontally scalable, with each instance operating independently and having its own transaction store.
BlockTx
BlockTx is a microservice responsible for processing blocks mined on the BSV network and propagating the status of transactions to each Metamorph that has subscribed to this service. The main purpose of BlockTx is to de-duplicate the processing of (large) blocks.
Callbacker
Callbacker is a simple microservice responsible for sending callbacks to clients when a transaction has been accepted by the BSV network. To register a callback, the client must add the X-Callback-Url header to the request. The callbacker will then send a POST request to the URL specified in the header, with the transaction ID in the body.
ARC Roadmap
Seamless Transition Strategy: Phased Approach for Migration from mAPI to ARC
Frequently asked questions
What is the main advantage of using ARC over mAPI?
ARC provides a more efficient and scalable solution for transaction processing. Unlike mAPI, which relies on the rpc interface of a BSV node, ARC broadcasts transactions on the p2p network, allowing for greater connectivity and reduced bandwidth costs.
How does ARC improve transaction lifecycle management?
ARC monitors the BSV network for transaction and block messages, and keeps track of various transaction states. If a transaction isn't seen on the network within a set time period, ARC resends the transaction, ensuring a higher likelihood of successful processing.
What are the microservices in ARC, and how do they contribute to its functionality?
ARC consists of four microservices: API, Metamorph, BlockTx, and Callbacker. The API handles authentication, validation, and transaction submission; Metamorph processes transactions and resends them if needed; BlockTx processes blocks and propagates transaction status; Callbacker sends callbacks to clients when transactions are accepted.
How does ARC's extended format improve transaction validation?
The extended format includes satoshis and scriptPubKey for each input, which allows ARC to validate transactions without downloading parent transactions. This reduces processing time and network overhead, making the system more efficient.
What is the significance of BIP-239 in relation to ARC?
BIP-239 describes the extended format used by ARC for transactions. It serves as a comprehensive specification for this new format, which aims to become the standard for interchange between wallets and non-mining nodes on the BSV network.
How does ARC ensure scalability and robustness?
ARC's microservices are designed to be horizontally scalable, allowing them to be deployed on single or multiple machines. The system's modular architecture ensures efficient resource utilization and enables ARC to handle increasing transaction volumes over time.
News
Developing ARC – A BSV Blockchain open-source effort
While the ARC service is overseen by BSV Blockchain, its development is thanks to the contributions of several key partners – including Handcash and TAAL.
Read more
Making transactions simple with ARC
The team at HandCash has actively been testing and providing feedback for the introduction of ARC, says Rafa Jimenez (Chief Technical Officer and Co-Founder of HandCash).
Read more