Since Xaya was launched you may have heard us mention about how the Xaya platform and technology is blockchain agnostic. So first of all, let us start with a short introduction to the core components of Xaya and how it has been designed.
A Xaya game has 3 main components (assuming a full node setup):
- Xaya Core
- Game State Processor (GSP)
- Game client / front-end
Here we will focus on just numbers 1 and 2.
Xaya Core
Xaya Core is a fork of Namecoin, a project we have maintained and supported voluntarily for over 8 years.
Namecoin was the first altcoin and the only altcoin that had any of Satoshi’s input. For 2 years it was the only blockchain that provided a different use case than a currency until we created Huntercoin which itself was a fork of Namecoin and enabled a fully decentralized MMO to run on its own blockchain.
The core blockchain of Xaya has raised eyebrows with questions such as: Why are you using an archaic Bitcoin fork? Why use PoW? There is better stuff out there.
The answers boil down to:
- Simplicity
- Robustness
- Proven
- It provides everything we need
In a nutshell, we use Xaya for creating decentralized unique human readable IDs for player accounts and for storing moves in fully on-chain (and game-channel) games signed by those “accounts”.
Our work on Namecoin, Huntercoin and Xaya has provided contributions to Bitcoin Core itself, from bug fixes to new RPCs.
If we ignore all the work that has been done on Namecoin (reimplementation of all the Namecoin codebase onto Bitcoin Core), you could say that Xaya Core is where 5–10% of our development time has been spent.
Xaya Game State Processor (GSP)
What does the GSP do?
On a high level it is quite simple. The GSP connects to Xaya core and receives all moves for a particular game made by players.
It processes these moves and computes the state of the game world and records that in a database.
The GSP provides a read-only API for the front end to receive the state (in real time for pending moves in the memory pool and as blocks come in as well). In a normal game this would be a centralized server for the backend of the game.
Anyone who wants to run a game in a fully decentralized way runs a GSP.
This method allows for complex games to harness those important principles of blockchain such as:
- Decentralisation
- Censorship resistance
- Trustless
- Provably fair / transparent
- Permissionless
- Unstoppable / autonomous
The majority of Xaya platform development is here and we have created a library (libxayagame) that takes care of all the blockchain complexity such as game world synchronization, chain reorganizations and more.
This means the game developer only really needs to focus on their game logic.
It also includes functionality and a working example of Game Channels in the form of XayaShips.
The libxayagame library for the GSP is available here:
https://github.com/xaya/libxayagame
You can read a blog post by lead developer Daniel Kraft about how GSPs are like rollups on steroids.
https://xaya.medium.com/xaya-and-rollups-1b5eeba44921
Blockchain Agnostic
And now back to this. This modular type of approach in the Xaya platform is what allows for games on Xaya to be as complex as any centralized game. The GSP being detached from the consensus of the core chain is its main advantage. However, it also has another advantage: it allows GSPs to work with almost any modern blockchain, and thus why we call the Xaya technology “blockchain agnostic”.
For example, by using simple smart contracts to mimic Namecoin-like functionality, it is possible to build Xaya games on Ethereum and Ethereum-like environments without massive development costs and time.
Likewise, it is also possible on Polkadot parachains and we have already developed, as part of a grant, to build part of this implementation for substrate in the form of a naming pallet. You can find the code for that here:
https://github.com/xaya/substrate-names
Now that we have completed Xaya’s platform and infrastructure components, it is now the time to expand Xaya’s reach by building our technology onto these other platforms.
And for those platforms it will allow for ultra complex decentralized games (and dapps) to be built by other developers and written in any coding language they wish.
Polygon (Matic)
As you may have already heard, we have formed a strategic partnership with Polygon (MATIC) to make Xaya compatible with their Ethereum side chain.
Why Polygon?
It’s EVM compatible and the fees are minimal at the current time. It has a network effect of users and applications, easy to move in and out of Ethereum and most of all, their team is real, hard working and the sort of people we would like to work with.
There are many partnerships in the blockchain space that are only intended for marketing purposes with no actual plan to develop anything or with just an idea to develop something far into the future.
In the case of Xaya & Polygon, development has started now and we intend to have the technology implemented and working in around 2 months.
We’ll also be announcing a browser based game that will be released not long after which will demonstrate Xaya’s blockchain gaming capabilities, and Polygon’s network performance and smart contract functionality. A combination that is sure to rock the space.
We have begun development of a compatibility layer for our library to work with Polygons’ chain.
This will also allow any games developed for Xaya to work on Polygon or Xaya’s own chain, and future platforms with the only changes being with wallet functionality which differ between some blockchains.
We really can’t wait to show you what is in store this year.
Make sure to follow us on social media for more updates.
Want to know more about the benefits of blockchain for gaming?
Visit https://xaya.io
Join the conversation:
https://taurion.io/
https://twitter.com/XAYA_tech
https://www.facebook.com/XAYAtech/
https://discord.gg/d3KwbWu
Find out more about the Xaya platform and its components:
Xaya GitHub
Tutorials & Documentation
XID
Game Channels
Game Channels demo (2)
Ephemeral Timestamps