Hylian: ICON Price Oracle

Yes, we are interested, but, need to understand if dedicated servers are needed (any specifications)?

Daedric requires to run a bot that will update your SCORE periodically.
That bot (such as Marvin) only does few HTTP requests, once every hour - it doesn’t need a lot of CPU resources, it can run on any device. Consequently, the cost for maintaining a Daedric SCORE is very low.

Hello fellow P-Reps candidates,

Hylian and Daedric has successfully been accepted to Mainnet and it is running right now!
If you’re still interested in running a Daedric instance, please install it using the instructions given on the GitHub page (https://github.com/iconation/Daedric).

For the newcomers, Hylian and Daedric are an ICX/USD price oracle running on ICON.
We’re currently looking for volunteers to help running this oracle to make it more secure.

Requirements and costs for running it are very low :

For information (and posterity), here are the initial values of Hylian :

Here is some ELI5 explanation about how Hylian, Daedric and Marvin work together.

  • Let’s say any ICONist is wondering what the ICX/USD price currently is.
    That ICONist may be any user or a SCORE developer willing to use the ICX/USD price in his application.

  • Hylian keeps a list of whitelisted Daedric SCOREs in its database. Each of these Daedric are owned by a separate, independant entity. Let’s say Alice, Bob, Charlie and Eve run their own Daedric.

  • Hylian ask the same question for each Daedric : In your opinion, what is the current ICX/USD price ?

  • Each Daedric answers with what they think is the correct ICX/USD price - they may return different values. Let’s say Eve is even trying to cheat and say the ICX/USD price is $1000 EOY.

  • Once all Daedric have answered, Hylian takes all these values and compute the median value of the values received. By doing so, the price given by Eve doesn’t influence the result a lot.

  • That median value is finally returned to the user as a result and considered as a safe price for ICX/USD.

This is how Daedric and Hylian work together.

Now, each Daedric also needs to know the ICX/USD price.
That’s what Marvin does : it’s a bot that regularly reads the price from multiple sources (coinmarketcap, coingecko, velic, binance, …) and figure out the price of ICX/USD that way. Once it has the ICX price, it pushes it to Daedric. By default, Marvin refreshes the price for Daedric every hour.

It is possible to control the price if more than 50% participants agree to cheat at the same time in order to change drastically the median value, but it gets harder with a lot of participants.

That’s why we need you!

4 Likes

Hi All,
Marvin has been successfully updated and tested on Mainnet. If you are running or planning to use Marvin please pull down the latest from: https://github.com/rhizomeicx/marvin.

1 Like

We already deployed on mainnet. What’s the advantage of using marvin. Can you explain the difference over the included bot in daedric

1 Like

Marvin is more configurable and can be run on windows or linux. Im in the process of looking at moving our Marvin instance into AWS severless Lamda function which will make the server cosr $0.

2 Likes

That’s great I normally prefer running on a server but I like running stuff on my pc since I never close it. Can be nice addition to stuff I run on that one.

2 Likes

@Spl3en Rhizome Mainnet Daedric addess:
cxcc711062b732ed14954008da8a5b5193b4d48618

3 Likes

Hi All!,
We have added an extra deployment option for Marvin. You can now deploy Marvin to a server-less AWS Lambda Function. We are currently running this on testnet (https://bicon.tracker.solidwallet.io/address/hxd4868df8546497c27d5218ed54fef1ad77e4cb10) just to confirm stability etc.

Please check out the latest readme: https://github.com/rhizomeicx/marvin#amazon-web-services

2 Likes

Thanks Rhizome, your Daedric has been added to Hylian.

https://tracker.icon.foundation/transaction/0x0a3141aa2734f83c2ba113d930ad178a813309419445f134a392e7fb34539feb

1 Like

Hi All,
Just to provide an update from my previous Marvin post.

Rhizome is now running Marvin on AWS Lambda in Mainnet. If you would like to run marvin on AWS Lambda please follow the readme on github and if you have any issues hit me up on TG. or email me at andrew@rhizomeicx.com.

Thanks!

Andrew

2 Likes

DSNC joined the oracle, thanks to them! :+1:
We also improved the minimum feeds required from 1 to 2.
https://tracker.icon.foundation/contract/cxc26094b789b82c94305e79590ad39898b0d513a0#readcontract

2 Likes

Thanks to Sharpn for deploying their Daedric to Mainnet ! They’re now participating to the ICX/USD Hylian oracle.
https://tracker.icon.foundation/transaction/0x022c2164aac7298977171ac89d338703b21c57ee86c984219288ace3d7cae3ea

2 Likes

Hi everyone!

We just finished setting up Daedric and Marvin for both mainnet and testnet, currently waiting for the mainnet SCORE to be approved. Here are the contracts of both of them:

Marvin was configured to update the testnet contract every 10 minutes and every 15 minutes for the mainnet one.

If anyone is interested we also created a couple of articles in medium about how to set up both Daedric and Marvin:

How to contribute to “Hylian” the decentralized price oracle of ICON (½)

How to contribute to “Hylian” the decentralized price oracle of ICON (2/2)

3 Likes

Thanks a lot Espanicon!
I cannot edit the first post anymore unfortunately, but I’ll make sure to keep your post bookmarked!

1 Like

thanks @spl3en!.

My mainnet contract has been approved so any time you want to you can use it for hylian.

Im updating the price with marvin every 15 minutes, is that a good interval?

15 minutes is excellent! Thanks a lot.
Your Daedric has been approved and added to the Oracle :

https://tracker.icon.foundation/transaction/0x106e320aa71d4c50dcc438b036f344d07ee4c945d7a4bdb0398e99b95c4c46c7

good project :+1: :+1:

2 Likes