A few months ago I heard about a project Overstock.com and Medici Ventures were involved in called Ravencoin. I just recently decided to take a look at the code and see what it is currently capable of.

I found the chain being BTC based has some powerful features like the ability create digital assets much like you would create an ERC20 on Ethereum and NFT (Non-fungible Tokens) which are unique like Crypto Kitties / ERC721 tokens.

Along with an important feature if it happens to be a security token. The ability to message token holders.

The other feature I did not initially get the full impact of was IPFS which can be attached to the metadata of a Fungible and NFT token by including the hash generated for an image or video. IPFS is a decentralized protocol for hosting files, images and video. Feature wise it is much like AWS S3 which many companies use today to host and serve files.

After creating a Garbage Pal Kid themed Crypto Kitty on the Raven Testnet (yes I grew up in the 80’s) I had a thought experiment. What if you could attach an entire dApp or Site to a token?

You could have a company site linking out to dynamic content automatically linked to your token.

Gaming tokens could include a dApp.

You have a censorship resistant, decentralized site which can be easily shared. China may not let you enter the country with 50 King James Bibles to distribute but sending a KJV Bible token with a decentralized site attached is much harder to censor.

To my surprise. It worked.

The S3Raven Token w/ IPFS React Website

Clicking the IPFS link takes you to the demo React website:

React Demo site hosted via IPFS & Attached to S3Raven token

The Process

Much like launching a React Website on Amazon Web Services S3 you can create a new React app and build it. Upload the build folder to IPFS.

Install IPFS

https://docs.ipfs.io/introduction/install/

Create a React App

npx create-react-app ravenrox

cd ravenrox

yarn start

add homepage route to your package.json

"homepage": "./",

Edit the site and when you are ready to deploy it.

yarn build

ipfs add -r build

This will output something like this. Save the hash.

added QmQCunXBoh9LCVg3PtZrNJCGcaKkANjEiaA4AN7u1yod3X build

Launch an IPFS Token

Now launch the Raven Testnet (Install instructions here)

cd /Applications/Raven-Qt.app/Contents/MacOS

./Raven-Qt -testnet

Go to the Assets Section > Select Create Assets

It can be a Main Asset or Unique Asset (like an ERC721 / Crypto Kitty).

Select Add Json Meta Data Hash and paste the hash created earlier.

Select Create Asset. You are Done.

You just launched an Interplanetary File System (IPFS) Website & Raven Asset Token

The token will take a few minutes to show up on

http://ravencoin.asset-explorer.net/ and you will be able to click the IPFS link launching your new interplanetary site.

Now any Ravencoin address you send this token to will receive this unique IPFS site link.

If a Webkit based browser is created you could directly read the assets from the Raven blockchain searching for assets with valid IPFS site links. (Ideally the Ravencoin dev team will add the option to indicate when the hash links to an IPFS website making it much easier to filter valid sites.)

A basic version of this could be made pretty easily using Electron. The same framework used to create Slack.

Now you have what the early days of the internet looked like. A browser that can view indexed content. In this case though, you are not going through any centralized service to serve content.