Welcome to the official XYL TestNet documentation

MetaMask Setup

  • Network Name: XYL TestNet
  • Default RPC URL: https://xyl-testnet.glitch.me/rpc/
  • Chain ID: 6934
  • Native Currency Symbol: XYL
  • Block Explorer URL: https://debxylen.github.io/BlockExplorer/

Connect using chainid.network or chainlist.org


RPC Details

Use the following RPC details to connect your application to the XYL TestNet:

  • RPC URL: https://xyl-testnet.glitch.me/rpc/
  • Chain ID: 6934
  • Currency Symbol: XYL

Use any EVM-compatible wallet or library (like Web3.js) to interact with the testnet.
You can also view Ethereum RPC 2.0 documentation for more details on how to interact with the RPC.

It is recommended to try using xyl-client.py if you are planning to interact with the testnet using Python. You can also use it even for any other EVM-compatible chain to an extent.

pip install xyl-client.py

Receiving Test Tokens: Faucets

A faucet is an application that dispenses free tokens on a testnet. These tokens allow you to play around with the testnet without the risk of spending actual money or valuable coins.

Official Faucets:

As of now, each person can claim 6 XYL per day.

Mining: PoW Consensus

Proof of work (PoW) is a consensus mechanism that validates transactions on blockchains and is used in many cryptocurrencies. PoW helps ensure that only legitimate transactions are recorded on the blockchain, by making it computationally expensive to attack or dominate the blockchain.

NOTE: Not to be confused with the Mining Act 1978 of Australia: Instead of miners solving cryptographic puzzles, they’re lodging paperwork and waiting for approval before disturbing the “blockchain of the Earth.” 😂

Supported Mining Software:

Why mine?

Mining on blockchains yeilds passive rewards, all you need is a computer and some electricity. It not only helps keep the chain safer and less vulnerable to attacks, promoting decentralization, but also gives you a fair share of the gas fees spent in the transaction.

Tokenomics and Gas

Native Token: XYL (TestToken)

Symbol: XYL

XYL is the native token of the network, used for:

  • Paying transaction fees (gas).
  • Incentivizing miners for block validation.
  • Enabling smart contract deployment and execution.
  • Supporting dApp ecosystem functionality.
  • Incentivizing users in games and other platforms.

The smallest denomination of XYL is wxei, = 10¹⁸th of a XYL. equivalent to 'wei' in Ethereum

Supply Model:

  • Total Supply: 6,942,340 XYL

Gas Model

Gas ensures secure and efficient operations on the XYL TestNet. It is used to:

  • Prevent spam transactions.
  • Compensate miners for computational effort.
  • Allocate resources efficiently.

Gas Fee Calculation:

  • Gas is calculated based on the computational complexity or the transaction amount.
  • Gas Units = (Transaction Amount in wxei i.e. amount in XYL × 10¹⁸) × 0.003469,
  • Gas Price per unit = 1 wxei,
  • Total estimated gas cost = 0.3469% of the transaction amount.

Transaction Fee Distribution

Transaction fees are distributed as following:

  • For every 1 XYL in a transaction,
  • Miner reward: 0.002069 XYL
  • Network: 0.001400 XYL
  • Miners earn 0.002069 XYL per validated transaction, with the remainder supporting network maintenance, such as, funding faucets, node maintenance, ...etc.

Example

For a transaction of 50 XYL:

  • Total Gas Fee: 50 × 0.003469 = 0.17345 XYL
  • Miner Reward: 0.10345 XYL
  • Network: 0.07 XYL

Supported RPC Methods

Important: Params must always be passed as a list.
All integer/numberical values must be passed as hexadecimal unless specified.

1. eth_chainId

Description: Returns the chain ID of the current network.

Parameters: None

Response: A hexadecimal string representing the chain ID.

2. eth_blockNumber

Description: Returns the number of the latest block.

Parameters: None

Response: A hexadecimal string representing the latest block number.

3. eth_getBlockByNumber

Description: Returns information about a block by its number.

Parameters:

  • blockNumber (string): The block number (in hex, e.g., 0x1).

Response: Block details including transactions.

4. eth_getBalance

Description: Returns the balance of an account at a specific block.

Parameters:

  • address (string): The Ethereum/EVM wallet address.

Response: The balance of the specified address in wxei (hexadecimal).

5. eth_getTransactionByHash

Description: Returns the information about a transaction requested by transaction hash.

Parameters:

  • transactionHash (string): The transaction hash.

Response: Transaction details.

6. eth_getBlockByHash

Description: Returns information about a block by its hash.

Parameters:

  • blockHash (string): The block hash.

Response: Block details including transactions.

7. eth_getCode

Temporarily unsupported

Description: Returns the code stored at a specific address.

Parameters:

  • address (string): The address of the contract.

Response: The contract code at the given address (as a hex string).

8. eth_estimateGas

Description: Estimates the gas required for a transaction.

Parameters:

  • gasPrice: Price per unit gas (=1 wxei)
  • value: Transaction amount in wxei

In this case, gasPrice and value must be in a dict passed as the first element of params, i.e., params must be of the form [{'gasPrice': ..., 'value': ...}].

Response: Estimated gas in wxei required for the transaction (hexadecimal).

9. eth_gasPrice

Description: Returns the current gas price in wxei.

Parameters: None

Response: The current gas price (in hex).

10. eth_getTransactionCount

Description: Returns the number of transactions sent from a specific address.

Parameters:

  • address (string): The Ethereum/EVM wallet address.

Response: The transaction count for the address (in hex). Can be used as a nonce for transactions.

11. eth_sendRawTransaction

Description: Sends a signed transaction to the network.

Parameters:

  • signedTransaction (string): The signed raw transaction.

Response: Expected block number or other result depending on the type of transaction.

12. eth_getTransactionReceipt

Description: Returns the receipt of a transaction by transaction hash.

Parameters:

  • transactionIndex (Base 10 integer): The ID or index of the transaction.

Response: Transaction receipt of the first transaction in the block with that ID or index as block number, including status, gas, etc.

13. net_version

Description: Returns the network version.

Parameters: None

Response: The network version.

Frequently Asked Questions

What makes this blockchain unique?

XYL TestNet offers a hybrid model that balances speed, security, simplicity and decentralization. By optimizing for faster transactions and lower costs, it caters to real-world applications like monetization in gaming and apps that prioritize cheap, easy, and quick flow of currency, and enterprise use cases that prioritize performance.

Why isn’t the chain fully decentralized?

While decentralization is important, its hybrid model provides the flexibility needed for faster transactions and lower latency. I am committed to increasing decentralization over time as the network and ecosystem grow.

Isn’t low difficulty a security risk?

Security is taken seriously, and while lower difficulty allows for faster transactions (potentially making it vulnerable to spam attacks), additional measures such as strict node-side validation (rehashing, merkel roots, order of blocks, strict checks to completely restrict replay attacks or double spending ...etc.) to ensure the network remains secure and reliable.

What are the main benefits of XYL Blockchain/Ecosystem?

XYL's blockchain is designed for speed, cost-efficiency, easy interaction and flexibility. Whether you’re developing dApps, using it as a currency for your games, working with enterprise applications, or simply want to move coins in and out quickly and easily, you’ll benefit from fast block times and low transaction fees. An official middleware helps to easily track transactions, warn about issues beforehand, ...etc, which is often ignored in general EVM wallets.

What are the advantages for developers?

XYL TestNet is a hybrid EVM-compatible blockchain, that is, it follows most standards and structures of Ethereum, but additions and slight modifications are made wherever necessary. XYL has a unique bytecode or instruction set for programming smart contracts, which makes it much easier and straightforward to deploy and execute contracts. Python libraries, as a supplement to existing libraries like Web3, are also available to help interact with the testnet easily and efficiently.

More about the TestNet

XYL prioritizes speed and flexibility while maintaining a balance between decentralization and control to improve security and efficiency.

It is designed for real-world applications where performance, cost, flexibility and speed matters—whether you're building real-time apps, games, or anything that requires ultra-low latency.