Skip to content

Class BSV::Network::Protocols::Arcade

Inherits: BSV::Network::Protocol

Arcade protocol implementation for submitting transactions to the BSV network.

Arcade is a sibling to ARC — both subclass Protocol directly. The request and response shapes diverge enough to rule out a shared abstract base: Arcade uses a narrower status taxonomy and a different broadcast response structure (no txid on fresh submission; idempotent re-submit returns status plus txid plus state).

Example

arcade = BSV::Network::Protocols::Arcade.new(
  base_url: 'https://arcade.gorillapool.io'
)
result = arcade.call(:broadcast, tx)
result.http_success? # => true
result.data['status'] # => "submitted"
  • @see https://github.com/bsv-blockchain/arcade Arcade repository

Constants

REJECTED_STATUSES

Arcade response statuses that indicate a transaction was NOT accepted. Narrower than ARC's taxonomy — Arcade has a single explicit rejection signal.

Public Instance Methods

initialize(base_url:, api_key: = nil, auth: = nil, network: = nil, http_client: = nil, callback_url: = nil, callback_token: = nil)

  • @param base_url [String] Arcade base URL
  • @param api_key [String, nil] legacy bearer token shorthand
  • @param auth [Hash, Symbol, nil] auth config; takes precedence over +api_key:+
  • @param network [String, nil] network name for base URL interpolation
  • @param http_client [#request, nil] injectable HTTP client for testing
  • @param callback_url [String, nil] optional X-CallbackUrl header value
  • @param callback_token [String, nil] optional X-CallbackToken header value
  • @return [Arcade] a new instance of Arcade