Purpose
This guide shows how to get useful information on the DApps running on Basechain. Thus, if you are running a DApp metrics website or just want to get more insight on the DApps running on Basechain, then carry on with this guide.
Block Explorers
Web3 Endpoints
You can use the following endpoints to interact with Loom:
- Basechain: http://basechain.dappchains.com/eth
- Loom GameChain: http://gamechain.dappchains.com/eth
JSON RPC Interface
Loom is EVM compatible and provides support for several important JSON RPC calls. This section will give you a brief overview of some JSON RPC calls you can use.
eth_getTransactionReceipt
Returns the receipt of a transaction by transaction hash.
Parameters
- DATA, 32 Bytes - hash of the transaction
Headers
Content-Type: application/json
Returns
Object - A transaction receipt object, or null when no receipt was found:
- transactionHash : DATA, 32 Bytes - hash of the transaction.
- transactionIndex: QUANTITY - integer of the transaction's index position in the block.
- blockHash: DATA, 32 Bytes - hash of the block where this transaction was in.
- blockNumber: QUANTITY - block number where this transaction was in.
- from: DATA, 20 Bytes - address of the sender.
- to: DATA, 20 Bytes - address of the receiver. null when it's a contract creation transaction.
- cumulativeGasUsed : QUANTITY - The total amount of gas used when this transaction was executed in the block.
- gasUsed : QUANTITY - The amount of gas used by this specific transaction alone.
- contractAddress : DATA, 20 Bytes - The contract address created, if the transaction was a contract creation, otherwise null.
- logs: Array - Array of log objects, which this transaction generated.
- logsBloom: DATA, 256 Bytes - Bloom filter for light clients to quickly retrieve related logs.
Example
Request
curl --location --request POST "https://plasma-alpha.dappchains.com/eth" \
--header "Content-Type: application/json" \
--data "{
\"jsonrpc\":\"2.0\",
\"method\":\"eth_getTransactionReceipt\",
\"params\":[
\"0x34a641c643aab0028a94c4a3d4a4e057c08f742ef86b262d93ca7ab55c8b2d7f\"
],
\"id\":1
}"
Result
{
"result": {
"transactionHash": "0x34a641c643aab0028a94c4a3d4a4e057c08f742ef86b262d93ca7ab55c8b2d7f",
"transactionIndex": "0x0",
"blockHash": "0xfbb4018172ebeb0d0163103072ed8dfbd439ffa65730e861af4602d82af40d73",
"blockNumber": "0x912015",
"from": "0xd21bad2b76e1f45c996ed53855f196728b102b5c",
"cumulativeGasUsed": "0x0",
"gasUsed": "0x0",
"contractAddress": null,
"to": "0xe9837e455f09300e98f5ac59d862da781da594e7",
"logs": [
{
"logIndex": "0x0",
"transactionIndex": "0x0",
"transactionHash": "0x34a641c643aab0028a94c4a3d4a4e057c08f742ef86b262d93ca7ab55c8b2d7f",
"blockHash": "0xfbb4018172ebeb0d0163103072ed8dfbd439ffa65730e861af4602d82af40d73",
"blockNumber": "0x912015",
"address": "0xe9837e455f09300e98f5ac59d862da781da594e7",
"data": "0x000000000000000000000000000000000000000000000000000000005d491b84",
"topics": [
"0x3fe7bd72b9631bc1de227207f7f09fbe45c1aa501170bad6c74a4e7de67cca2c",
"0x000000000000000000000000000000000000000000000000000000000000b8a0"
]
}
],
"logsBloom": "0x409400890050102205",
"status": "0x1"
},
"jsonrpc": "2.0",
"id": 1
}
eth_blockNumber
Returns the number of most recent block.
Parameters
none
Headers
Content-Type: application/json
Returns
QUANTITY - integer of the current block number the client is on.
Example
Request
curl --location --request POST "https://plasma-alpha.dappchains.com/eth" \
--header "Content-Type: application/json" \
--data "{
\"jsonrpc\":\"2.0\",
\"method\":\"eth_blockNumber\",
\"params\":[],
\"id\":83
}"
Result
{
"result": "0x911e01",
"jsonrpc": "2.0",
"id": 83
}
eth_getBlockByNumber
Returns information about a block by block number.
Parameters
QUANTITY|TAG - integer of a block number, or the string "earliest", "latest" or "pending".
Boolean - If true it returns the full transaction objects, if false only the hashes of the transactions.
Headers
Content-Type: application/json
Returns
Object - A block object, or null when no block was found:
- number: QUANTITY - the block number. null when its pending block.
- hash: DATA, 32 Bytes - hash of the block. null when its pending block.
- parentHash: DATA, 32 Bytes - hash of the parent block.
- nonce: DATA, 8 Bytes - hash of the generated proof-of-work. null when its pending block.
- sha3Uncles: DATA, 32 Bytes - SHA3 of the uncles data in the block.
- logsBloom: DATA, 256 Bytes - the bloom filter for the logs of the block. null when its pending block.
- transactionsRoot: DATA, 32 Bytes - the root of the transaction trie of the block.
- stateRoot: DATA, 32 Bytes - the root of the final state trie of the block.
- receiptsRoot: DATA, 32 Bytes - the root of the receipts trie of the block.
- miner: DATA, 20 Bytes - the address of the beneficiary to whom the mining rewards were given.
- difficulty: QUANTITY - integer of the difficulty for this block.
- totalDifficulty: QUANTITY - integer of the total difficulty of the chain until this block.
- extraData: DATA - the "extra data" field of this block.
- size: QUANTITY - integer the size of this block in bytes.
- gasLimit: QUANTITY - the maximum gas allowed in this block.
- gasUsed: QUANTITY - the total used gas by all transactions in this block.
- timestamp: QUANTITY - the unix timestamp for when the block was collated.
- transactions: Array - Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter.
- uncles: Array - Array of uncle hashes.
Example
Request
curl --location --request POST "https://plasma-alpha.dappchains.com/eth" \
--header "Content-Type: application/json" \
--data "{
\"jsonrpc\":\"2.0\",
\"method\":\"eth_getBlockByNumber\",
\"params\":[
\"latest\",
true
],
\"id\":1
}"
Result
{
"result": {
"number": "0x9121d9",
"hash": "0xb54064a4da2c853122b3c492d67015a535a050a9bb54d59c0ac239a6aa8e7e99",
"parentHash": "0x63b0e520044f6c3851ea2f80767eb92e4ec905646aea107b071486f470bcae89",
"nonce": "0x0000000000000000",
"sha3Uncles": "0x0000000000000000000000000000000000000000000000000000000000000000",
"logsBloom": "0x0",
"transactionsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x1927e984661b0a2cd7cc28cd417ea61eafc6cac8",
"difficulty": "0x0",
"totalDifficulty": "0x0",
"extraData": "0x0",
"size": "0x0",
"gasLimit": "0x0",
"gasUsed": "0x0",
"timestamp": "0x5d491e38",
"transactions": [],
"uncles": []
},
"jsonrpc": "2.0",
"id": 1
}
eth_getBlockByHash
Returns information about a block by hash.
Parameters
DATA, 32 Bytes - Hash of a block.
Boolean - If true it returns the full transaction objects, if false only the hashes of the transactions.
Headers
Content-Type: application/json
Returns
Object - A block object, or null when no block was found:
- number: QUANTITY - the block number. null when its pending block.
- hash: DATA, 32 Bytes - hash of the block. null when its pending block.
- parentHash: DATA, 32 Bytes - hash of the parent block.
- nonce: DATA, 8 Bytes - hash of the generated proof-of-work. null when its pending block.
- sha3Uncles: DATA, 32 Bytes - SHA3 of the uncles data in the block.
- logsBloom: DATA, 256 Bytes - the bloom filter for the logs of the block. null when its pending block.
- transactionsRoot: DATA, 32 Bytes - the root of the transaction trie of the block.
- stateRoot: DATA, 32 Bytes - the root of the final state trie of the block.
- receiptsRoot: DATA, 32 Bytes - the root of the receipts trie of the block.
- miner: DATA, 20 Bytes - the address of the beneficiary to whom the mining rewards were given.
- difficulty: QUANTITY - integer of the difficulty for this block.
- totalDifficulty: QUANTITY - integer of the total difficulty of the chain until this block.
- extraData: DATA - the "extra data" field of this block.
- size: QUANTITY - integer the size of this block in bytes.
- gasLimit: QUANTITY - the maximum gas allowed in this block.
- gasUsed: QUANTITY - the total used gas by all transactions in this block.
- timestamp: QUANTITY - the unix timestamp for when the block was collated.
- transactions: Array - Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter.
- uncles: Array - Array of uncle hashes.
Example
Request
curl --location --request POST "https://plasma-alpha.dappchains.com/eth" \
--header "Content-Type: application/json" \
--data "{
\"jsonrpc\":\"2.0\",
\"method\":\"eth_getBlockByHash\",
\"params\":[
\"0xfbb4018172ebeb0d0163103072ed8dfbd439ffa65730e861af4602d82af40d73\",
true
],
\"id\":1
}
Result
{
"result": {
"number": "0x912015",
"hash": "0xfbb4018172ebeb0d0163103072ed8dfbd439ffa65730e861af4602d82af40d73",
"parentHash": "0x55e68e8c7ba6d797cc212ab518d12a102ce6424ac09d94beade7b56f003ea9a3",
"nonce": "0x0000000000000000",
"sha3Uncles": "0x0000000000000000000000000000000000000000000000000000000000000000",
"logsBloom": "0x409400890050102205",
"transactionsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"receiptsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"miner": "0xc81ab0af2886532cb868e5b0f4f196360663a5e4",
"difficulty": "0x0",
"totalDifficulty": "0x0",
"extraData": "0x0",
"size": "0x0",
"gasLimit": "0x0",
"gasUsed": "0x0",
"timestamp": "0x5d491b84",
"transactions": [
{
"hash": "0x34a641c643aab0028a94c4a3d4a4e057c08f742ef86b262d93ca7ab55c8b2d7f",
"nonce": "0x22204",
"blockHash": "0xfbb4018172ebeb0d0163103072ed8dfbd439ffa65730e861af4602d82af40d73",
"blockNumber": "0x912015",
"transactionIndex": "0x0",
"from": "0xd21bad2b76e1f45c996ed53855f196728b102b5c",
"to": "0xe9837e455f09300e98f5ac59d862da781da594e7",
"value": "0x0",
"gasPrice": "0x0",
"gas": "0x0",
"input": "0xdee11cb0"
}
],
"uncles": []
},
"jsonrpc": "2.0",
"id": 1
}
eth_getCode
Returns code at a given address.
Parameters
- DATA, 20 Bytes - address.
- QUANTITY|TAG - integer block number, or the string "latest", "earliest" or "pending".
Headers
Content-Type: application/json
Returns
DATA - the code from the given address.
Example
Request
curl --location --request POST "https://plasma-alpha.dappchains.com/eth" \
--header "Content-Type: application/json" \
--data "{
\"jsonrpc\":\"2.0\",
\"method\":\"eth_getCode\",
\"params\":[
\"0xc72783049049c3d887a85df8061f3141e2c931cc\",
\"0x2\"
],
\"id\":1
}
Result
{
"result": "0x608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f6b4dfb4146044575b600080fd5b348015604f57600080fd5b5060566098565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b73e288d6eec7150d6a22fde33f0aa2d81e06591c4d815600a165627a7a72305820b8b6992011e1a3286b9546ca427bf9cb05db8bd25addbee7a9894131d9db12500029",
"jsonrpc": "2.0",
"id": 1
}
Busy Contracts
Basechain DPoS Staking
- Smart Contract #1: 0xc72783049049c3d887a85df8061f3141e2c931cc
Relentless
- Smart Contract #1: 0xE288D6EeC7150d6A22fDe33f0Aa2D81E06591c4d
Loom Marketplace
- Smart Contract #1: 0xbd54b4b26ac8e4bd202b70f3fbad6b3d5a885eec
- Smart Contract #2: 0x95273cded5f217e391cbf48d2528d171cb1b92b0
- Smart Contract #3: 0xcf2851b1ad63d093238ea296524be8d7cd920e0b
Axie Infinity
- Smart Contract #1: 0xd839bdf39fb13adc57f4a3cbacba1d8b15429b46
- Land: 0xe228f42ccabe5f38c492b50906ae03d950546a3f
- ItemCollection: 0x485c9f05ac8c3c957ca43518ec346ebff6d47b84
- ChestUnboxer: 0x6491fefedb00c59d36c2f30a65325bbd1046cece
CryptoRaves
- Smart Contract #1: 0x28694c32059a9538680A622A2764D7cbb0E01F93
CryptoWars
- Smart Contract #1: 0xa85a641B4ef793d0A3650bf6997b2571aDB2840e
- Smart Contract #2: 0x9160f5cc9B5fDd7798152078259aaFB536957508
- Smart Contract #3: 0xB22Da027c475c9493b931115204fC8C71B82F11d
Sorare
- Smart Contract #1: 0xb3BEE074E86982dB1F1186FC010B61608fC8c0Dc
- Smart Contract #2: 0xa378EF33461CB8D33C921DF59655355dC7eD0cd9
Alice Finance
- Smart Contract #1: 0x1Fe7A4F1F8b8528c4cf55990f78cB38d203ADE73
- AliceIFO - Initial Free Offering: 0xc7bb19a92c1a050087b0633c6e4cb4bf363053d9