Botanix
Botanix API is available on Web3 API platform.
Botanix is a decentralized Turing-complete Layer 2 EVM built on the native currency of bitcoin. It operates using two core components:
- Ethereum Virtual Machine: Fortified by a Proof-of-Stake consensus protocol that leverages Bitcoin's Proof-of-Work for superior security. Stakes are represented by actual bitcoin stored securely within multi-signature wallets on the Bitcoin network. By supporting EVM, Botanix allows developers to seamlessly port existing Ethereum dApps to the Bitcoin ecosystem.
- Spiderchain Protocol: At the core of Botanix is the Spiderchain, a series of successive multisignature (multisig) wallets managed by randomized sets of orchestrators. This structure secures user funds and facilitates the movement of Bitcoin within the network, effectively separating Bitcoin "the asset" from Bitcoin "the blockchain." By securing the Bitcoin present on Botanix in a decentralized chain of multisigs, it separates Bitcoin from the EVM. This allows for a transition from Bitcoin’s UTXO model to an account model used in the EVM.
In order for your Web3 application to interact with Botanix — either by reading blockchain data or sending transactions to the network — it must connect to a Botanix node. Developers interact with the blockchain using the methods provided by the API.
The API interaction follows the JSON-RPC which is a stateless, light-weight remote procedure call (RPC) protocol. It defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in other message-passing environments. It uses JSON (RFC 4627) as data format.
Methods supported
web3_clientVersion— returns the current client version.web3_sha3— returns Keccak-256 (not the standardized SHA3-256) of the given data.net_version— returns the current network ID.net_listening— returns true if client is actively listening for network connections.eth_protocolVersion— returns the current protocol version.eth_syncing— returns data on the sync status or false.eth_gasPrice— returns the current price per gas in wei.eth_accounts— returns a list of addresses owned by client.eth_blockNumber— returns the number of most recent block.eth_getBalance— returns the balance of the account specified by address.eth_getStorageAt— returns the value from a storage position at an address specified.eth_getTransactionCount— returns the number of transactions sent from an address.eth_getBlockTransactionCountByHash— returns the number of transactions in a block specified by block hash.eth_getBlockTransactionCountByNumber— returns the number of transactions in the block specified by number.eth_getUncleCountByBlockHash— returns the number of uncles in a block specified by block hash.eth_getUncleCountByBlockNumber— returns the number of uncles in a block specified by block number.eth_getCode— returns code at an address specified.eth_sendRawTransaction— creates a new message call transaction or a contract creation for signed transactions.eth_call— executes a new message call immediately without creating a transaction on the blockchain.eth_estimateGas— generates and returns an estimate of how much gas is necessary to allow the transaction to complete.eth_getBlockByHash— returns information for the block specified by block hash.eth_getBlockByNumber— returns information for the block specified by block number.eth_getTransactionByHash— returns information on a transaction specified by transaction hash.eth_getTransactionByBlockHashAndIndex— returns information on a transaction specified by block hash and transaction index position.eth_getTransactionByBlockNumberAndIndex— returns information on a transaction by block number and transaction index position.eth_getTransactionReceipt— returns the receipt of a transaction by transaction hash.eth_getUncleByBlockHashAndIndex— returns information about an uncle of a block by hash and uncle index position.eth_getUncleByBlockNumberAndIndex— returns information about an uncle of a block by number and uncle index position.eth_getLogs— returns logs matching the parameters specified.
Methods
web3, net, eth
web3_clientVersionweb3_sha3net_versionnet_listeningeth_protocolVersioneth_syncingeth_gasPriceeth_accountseth_blockNumbereth_getBalanceeth_getStorageAteth_getTransactionCounteth_getBlockTransactionCountByHasheth_getBlockTransactionCountByNumbereth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_getCodeeth_sendRawTransactioneth_calleth_estimateGaseth_getBlockByHasheth_getBlockByNumbereth_getTransactionByHasheth_getTransactionByBlockHashAndIndex