How to Issue Your Own Crypto-Collectible on the Ravencoin Blockchain — Part I
If you’re an artist or game dev looking to put your art, in-game assets, or collectibles on the blockchain, you now have one more option, and it’s super easy to use.
We’re going to issue my artwork in the image above as a unique, one-of-a-kind digital collectible asset, and we’re going to do it in under an hour. Step-by-step.
It may look like a lot of steps, but many of them are simply “Click Next” so this should go pretty quickly. I’m going to show you how to get everything you need for free.
Here’s what we’re going to do
- Download and install a file (this is the Ravencoin wallet)
- Open the file and sync with the network
- Generate an address (this address will issue our assets)
- Get some free testnet Ravencoin (RVN) from an online faucet
- Click a few buttons in the wallet to create and name the asset
- Take over the world with our new Crypto-tokens
It took me a few trips between Twitter and Discord before I fully figured this all out, so I’m posting this both to smooth the path for myself next time, and hopefully to be a valuable resource for others.
Artists have been actively issuing tokens on different blockchains over the past few years, with 2018 seeing an absolute explosion of both development and artistic content across many platforms. Ravencoin promises a unique mix of user-friendliness and rich features that I find to be a highly attractive new entry to the digital-collectibles-realm.
If you want to skip the background on Ravencoin and just get to issuing your own asset, you can jump ahead to the next section.
I had never heard of Ravencoin, or it’s ability to issue assets until I saw this Tweet from Bruce Fenton 2 days ago.
I was intrigued so I read through the website and Github page. It appears to be an interesting project sprinkled with some moral integrity. While I could not delve too deeply in a few short days, to me it feels authentic. I’m aligned with the stated vision and goals in their whitepaper on Github.
I read it on LSD and it blew my mind with the possibilities…
Uses for Assets
Assets or tokens can be used for anything the creator’s imagination can conjure. The ideas presented here are a sampling.
Representing real world custodied physical or digital assets to tokens
DC Comics Presents #26
Energy credits (Electricity, Wood, Gas, Oil, Wind)
Representing a share of a project
Securities tokens: stock or shares of a company where the shares are represented by a token rather than a physical stock certificate
Securities or partnership interests with the built-in ability to pay rewards in RVN (legal in many free market countries)
Tokens which represent a coop, limited partnership, royalty sharing or profit sharing platform
A token which represents a crowd-funded item with the ability to transfer or resell the item
Representing virtual goods
Tickets to an event such as a Baltimore Ravens game with the ability to resell
A license to allow an activity
An access token to use a service
In-game currency and items, transferable outside of the game platform
Representing a credit
Some of these use cases have been implemented in the current wallet release, (2.0.4) and some are coming soon. The real game-changer to me will be the release of the Unique Asset functionality.
Below is excerpted from the whitepaper
Some examples of unique tokens:
Imagine an art dealer issues the asset named ART. The dealer can then make unique ART assets by attaching a name or a serialized number to each piece of art. These unique tokens can be transferred to the new owner along with the artwork as a proof of authenticity. The tokens ART:MonaLisa and ART:VenusDeMilo are not fungible and represent distinct pieces of art.
A software developer can issue the asset with the name of their software ABCGAME, and then assign each ABCGAME token a unique id or license key. The game tokens could be transferred as the license transfers. Each token ABCGAME:398222 and ABCGAME:423655 are unique tokens.
In game assets. A game ZYX_GAME could create unique limited edition in-game assets that are owned and used by the game player. Example: ZYX_GAME:SwordOfTruth005 and ZYX_GAME:HammerOfThor These in game assets could then be kept, traded with other players via QR codes and wallets or uploaded into an upgrade or different version of a game.
RVN based unique assets can be tied to real world assets. Create an asset named GOLDVAULT. Each gold coin or gold bar in a vault can be serialized and audited. Associated unique assets GOLDVAULT:444322 and GOLDVAULT:555994 can be created to represent the specific assets in the physical gold vault. The public nature of the chain allows for full transparency.
Now that we know a little about Ravencoin and the related asset possibilities, let’s get started and issue our first asset.
At the time of this writing, the asset features are only available in the testnet, but main-net assets are scheduled for implementation around October 31, 2018 and should function the same way.
First you’ll need to download the Ravencoin wallet. You can download that from their Github. In my case I am using the Windows 64 installer for version 2.0.4.
Once the file is downloaded double-click the .exe file (allow any access or permissions requested).
Click “Next” and set a directory on the next screen if you’d like, in may case I left it at the default folder. Click “Next”, and then “Install” on the next screen.
You should hopefully see “Installation complete” Click “Next” and in the next screen click “Finish”
You should get a popup that looks like this. I used the default directory, but you can change it if you’d like, and click “OK”.(you may first need to allow permissions)
Your wallet will now begin syncing with the network — great!
At this point you can go ahead and close the wallet, no need to fully sync with the main-net yet. If you are setting up a main-net wallet, you’ll want to go through the best practices guide here to properly set up and secure your wallet.
To open the testnet wallet, open your computer’s “Search”, and type “Raven”, you will get a list of matching programs.
Right-click the option that says Raven Core (64-bit) and select “Open File Location” (You may not see the testnet option yet, but that’s okay)
This should open a folder window with a few options, double click the option that says “Raven Core (testnet, 64-bit)”
You should see the wallet open now with a GREEN Raven logo and it will say [testnet] in the top center of the wallet.
Now we need to add some nodes so we can sync quicker with the testnet. Click “Hide” and then in the wallet go to Help, and select Debug Window.
Now select the “Console” tab in the Debug Window.
Open this link to the currently operating nodes, and we’re going to copy the IP addresses we find listed in the “Address” column of the page into our wallet console — one at a time.
We have to use this format
addnode “IPaddress” add
We will substitute the IP addresses we find on the testnet explorer page for “IPaddress” in the above.
In this case I typed in addnode 220.127.116.11 add and pressed enter.
I was told that adding about 8 IP addresses will allow a fast sync, so let’s add more the same way. There is probably a way to do this all at once, but I’m not that tech-y…I was also told “If you get a return of null it worked.”
Soon our wallet will be fully synced with the Ravencoin testnet and we’re ready to go. If you hover your cursor over the “Check-mark Icon” in the bottom right corner of the wallet, you can confirm you’re fully synced (it will say “Up to date”)
Now we need to get some Testnet Ravencoins to issue our asset. We need 500 RVN to issue an asset, and luckily for us there’s a testnet faucet that will send us 5000 RVN to get started.
Let’s go into the receive tab of the wallet and set up an address.
You can enter a label, an expected amount (here we know we’re expecting 5,000 RVN), and a Message, but I believe all of that is optional. Now click “Request Payment”
Now in the popup window, click “Copy Address”
Let’s go to the faucet and get some free testnet RVN here. Paste your address into the blue field and click Submit. You should get the success notification and because Ravencoin blocks are mined once per minute, the coins will be in your wallet pretty quickly.
Now if we go back to the overview tab in the wallet, we should soon see 5,000 RVN coins in our balance, awesome!
Let’s go back into the Receive Tab, double click our receive address and use the “Copy Address” button to copy that to our clipboard before the next step.
Now we’ll click on the “Assets” tab of the wallet, and then click “Create Assets”
Now we should see the options that let us customize our Digital Asset. I’ll go through them as best as I understand, but remember, 3 days ago, I’d never heard of Ravencoin assets…
First and most obviously we must choose an asset name. Not so obvious is the fact that you must use ALL CAPITAL LETTERS in your asset name or it won’t work. (You can also use the numbers 0–9 and the . and _ symbols, but I think the symbols cannot be the first character)
I set my asset name to BITCOIN_ART — this must be a unique asset name, so to confirm that with the blockchain network, I click the “Check Availability” button and get the “Valid Asset” indicator in green seen below.
If your asset name is not valid, you’ll want to try again with another name as someone else has (or may have) already registered the asset name. (I already own the asset name LSD, sorry, too late!)
Next we’ll right click into the Address field and select “Paste” to paste our RVN testnet address. This is the address that will hold our digital asset(s).
Custom Change Address
I don’t know what this is, so I skipped this and left the box unchecked.
Here is where we define if our token will be divisible or not. Bitcoin is divisible to 8 decimal places, meaning each Bitcoin can be divided 100 million times. I want my asset to be a one-of-a-kind, so I am going to set my Units to 0 meaning, it cannot be divided at all. Your token can be anywhere in between o and 8 decimal places.
I also unchecked “Reissuable” so the issuance is locked (no additional units of this token can be created or issued)
Add JSON Meta Data Hash
I checked the box in front of “Add JSON Meta Data Hash” because I want to issue art with an immutable record of the image associated with the token. The fact that Ravencoin allows for this by default is awesome.
This step is totally optional. If you don’t have a file or image you’d like forever associated with the token, you can go ahead and leave that unchecked and skip ahead to the next section.
I got a tip from JRswab, host of the Hacker Culture podcast that makes the next part super easy for files under 100mB. (if your file is more than 100mB, check out this article on Medium by John Zettler of Rare Art Labs, it will give the exact same hash result as the below, but requires more work).
This places your file onto the Interplanetary File System (IPFS), so you should probably read up on IPFS separately as it is a very nuanced discussion outside the scope of this article.
Have your image file ready and go to this link -https://globalupload.io/
Drag and Drop your image file into the “File Upload” section. Then click “Transport”.
From the above screen, you can copy everything after “https://ipfs.io/ipfs/” , and paste that into the “JSON Meta Data IPFS Hash” field in our wallets here;
NOW — click Create Asset
Click Yes and we’ll get this notice
Click OK, and that will close the window. Let’s navigate back to the “Overview” Tab of our wallet and OMG, I see a balance of 1 BITCOIN_ART token in there!!!
My artwork is now immutably recorded on the Ravencoin (testnet) blockchain, how cool is that?
We can verify that on the Ravencoin blockexplorer by going to the “Transactions” tab in the wallet. Double click the transaction and this will bring up the “Details” window. Copy the Transaction ID (CTRL+C).
Go to the block explorer and paste the transaction hash into the search field.
We should now see our transaction on the blockchain.
Okay so if you made it this far you should now have your own testnet tokens.
If you want to trade, send me some of your newly minted testnet tokens and I’ll send you back some of mine!
You can send your new awesome assets to me on the testnet at this address
Join me for Part 2 where we’ll investigate the soon-to-be-implemented Unique Asset functionality. I am super excited for that.
I hope this was helpful, and please let me know if you use this tutorial to create any interesting tokens! (shitcoins are fine too, go start your empire and report back once we’ve conquered all).
You can find me on Twitter as @FractalEncrypt and on Instagram as @ShamanicHarmonics