Kylin Testnet Launch (and Guide!)

Dear Kylians,

Aside from our Web3 Grant and our TGE, this next milestone is as — if not more(!) — important. The testnet launch represents the first ‘real’ step toward product and functionality that we envisioned from a very early stage: that is to say it’s a vision that involves our community members directly and also underscores the flexibility and power of decentralized data architecture: an open sandbox where innovation in this new area is only limited by imagination.
We look forward to the further galvanization of our community’s expertise by some of our first Kylians, who will undertake some of the first experiments in imaginative API calls that no one else has yet conceived. These first pioneers will likely also be some of the first OPs (Oracle Programers) within the network. We look forward to your work.
On an ad-hoc and case-by-case basis, we will provide incentives to this early group of pioneers to support their work through Kylin Labs and our Ecosystem Development Fund. All are welcome to experiment, and the best OPs out of this group will be given our direct support and interfacing as we move to mainnet and interface with partners, projects, and enterprises alike.

The next chapter begins!

— Kylin Core Team

Kylin Testnet Guide

Introduction

Docker is a form of containerization that makes it much simpler to start your node, the container contains all the dependencies and start up scripts needed. This means your operating system is irrelevant, whether you are running Windows/Mac/Linux our goal is that you should only run one command to get everything up and running! This is exactly what we are going to do with docker-compose.

This guide is aimed at the very basic beginner, the team has a far more advanced step-by-step tutorial which can be found here

Prerequisites!

Hardware Requirements

  • 8 GB of RAM (16 is suggested)
  • 2 CPU cores (3 is suggested)
  • 50 GB of free HDD/SSD space

Let’s start building!

The next step is to clone the repo, which is just tech speak for downloading a copy of the repository to your local drive.

Once that is done, believe it or not you are more than halfway there. The final step in the build process is open up a terminal/command prompt then navigate to repo root directory (basically the folder where the code was downloaded) run the following command:

“cd scripts; docker-compose up -d”

What we are doing in that command is two things

  1. Cd scripts -> navigate to the scripts directory
  2. Docker-compose up -d -> this tells docker to build the entire infrastructure using the “docker-compose.yaml” file, the -d stands for detached so it runs in the background

Almost there

Let’s explore the UI

Open up a web browser and navigate to “http://localhost:3001/#/explorer

Finally, you have to switch to the local node that is running

Last bit of setup.

{
“Address”: “AccountId”,
“LookupSource”: “AccountId”,
“DataInfo”: {
“url”: “Text”,
“data”: “Text”
}
}

Next up we need to add an account to store the data in, this is done in two steps.

The first one is creating the account itself so navigate to the accounts page and add a new one. You can use the below mnemonic seed

clip organ olive upper oak void inject side suit toilet stick narrow

You can validate the successful addition of the account by transferring some funds, this is exactly how you would transfer funds in the mainnet.

Oracle Time!

Click on the `Developer` tab then go to `Extrinsics`, once there choose th kylinOracleModule and the method you are looking for is called “addFetchDataRequest”

The way things work here is that you will have to put in the address of the API in Hexadecimal format. For example if I wanted to query the price of BTC the original URL might look something like this

https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD

In Hex that becomes

“0x68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d425443267473796d733d555344”

The table below gives you a few example currencies and their Hex equivalent

BTC-price

URL: https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD

Hex: 0x68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d425443267473796d733d555344

ETH-price

URL: https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=USD

Hex: 0x68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d455448267473796d733d555344

XAP-price

URL: https://min-api.cryptocompare.com/data/price?fsym=XAP&tsyms=USD

Hex: 0x68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d584150267473796d733d555344

BCH-price

URL: https://min-api.cryptocompare.com/data/price?fsym=BCH&tsyms=USD

Hex: 0x68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d424348267473796d733d555344

LTC-price

URL: https://min-api.cryptocompare.com/data/price?fsym=LTC&tsyms=USD

Hex: 0x68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d4c5443267473796d733d555344

EOS-price

URL: https://min-api.cryptocompare.com/data/price?fsym=EOS&tsyms=USD

Hex: 0x68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d454f53267473796d733d555344

XMR-price

URL: https://min-api.cryptocompare.com/data/price?fsym=XMR&tsyms=USD

Hex: 0x68747470733a2f2f6d696e2d6170692e63727970746f636f6d706172652e636f6d2f646174612f70726963653f6673796d3d584d52267473796d733d555344

Tip

If you want to point to a url of your choosing you can use this page (https://onlinestringtools.com/convert-string-to-hexadecimal) to convert the page to Hex. Just be sure to remember to have the “Prefix Bytes” checked to add a “0x” to the start

Now that you added it, let’s test the functionality. Navigate to `Network` and click on `Chain State` then choose the `kylinOracleModule` again but this time choose `requestedOffChainData`, uncheck the “include option” and finally click on the orange button on the right to kick off the query. You should see price results for all the currency pairs you added.

Clean-up and go home!

docker-compose down

That is pretty much it! Go forth Kylians!

Building a Cross-chain Platform Powering the Data Economy on Polkadot