Here is a notebook you can open up in colab and use to generate a new private identity (called a write key). This will install the microprediction package: pip install microprediction
and import with from microprediction import new_key
Then it will burn a new write key using the command write_key = new_key(difficulty=11)
Higher difficulty keys take longer. A video tutorial is provided in the first Python module.
This tutorial will also get you on the leaderboard!
The key you generate is a lucky, but randomly generated, Memorable Unique Identifier (MUID). Because it takes some compute to create them, it isn't possible to create an arbitrarily large number of identities.
A “memorable unique identifier” may sound like a misnomer. MUIDs are really "hash-memorable" identifiers. The SHA-256 hash function relates your private identity to your public identity. There is no way to determine the private identity from your public identity. All microprediction classes you are likely to subclass, such as MicroWriter or MicroCrawler, contain a method called shash that you can use to compute your public identity.
.shash(write_key)
The first few characters of your public identity look a bit like a description of an animal (wasn't that fluky?). You can reveal this with
.animal_from_key(write_key)
The mapping is also available directly in the API. For instance try this URL:
http://api.microprediction.org/hash/e9d9c39428b08985331c4b5c6f710124/
Here's a video explaining MUIDs.
(The video pre-dates the microprediction library so contrary to the call to action at the end of it, you don't need to use the MUID package directly - just new_key in the microprediction package - but we won't be offended if you do. Be aware that the hash function in microprediction expects regular strings whereas MUID expects binary).
Notice that the length of the memorable part of the hash of the key is equal to the difficulty (e.g., Losable Flea = 12). Call it you “spirit animal” if you wish. It grants privileges as follows:
Furthermore, the key difficulty determines your bankruptcy level, which is a negative number.
difficulty | bankruptcy | difficulty | bankruptcy |
---|---|---|---|
8 | -0.01 | 11 | -256 |
9 | -1.0 | 12 | -4,096 |
1 0 | -16.0 | 13 | -65,536 |
These minimum balances are also in the package README. In the prediction network it is okay to go below these thresholds, but you won't be able to enter new streams (only continue on the ones you are good at).
Here are some other ways to obtain keys.
The MicroWriter, and thus also also the MicroCrawler, contain a method
.put_balance(self,source_write_key)
which enable your crawler, or writer, to increase its balance using a secondary write key. Thus you can choose to increase your balance at any time by mining a new key. Note, however, that this won't increase your balance above zero and nor will it impact in any way any leaderboards. Leaderboard credits and balances are entirely separate.