I hope we didn't unleash a beast.
A decentralized social media web application based on Ethereum platform.
基于以太坊的去中心化社交程序。
demo: http://shd101wyy.github.io/ribbit/
Please read this first:
- This project is still under development. We would recommend you to try this project on Ethereum
Ropsten Test Network
instead ofMain Ethereum Network
, because using Ribbit onRopsten Test Network
is completely free of charge, and we might deploy new smart contract in the future and deprecate the old one. We might also make changes to the smart contract onRopsten Test Network
, so you posts might lose. Please use this project at your own risk. - You are responsible for whatever you post, and you have to pay for the free of the speech. Think twice before you make a post because your post will stay on the blockchain forever. It is unchangeable and undeletable. All your posts will stay public on blockchain, so please don't post sensitive data.
- We do not host media files for you. We only save your text written in
markdown
to Ethereum blockchain.
- Install MetaMask in your Chrome browser and launch it. Follow the MetaMask instructions and create an account.
- Switch to
Ropsten Test Network
. Visit the faucet website listed below and request test ethers. Don't worry, they are fake ether coins.- http://faucet.ropsten.be:3001/ and click
request 1 ether from faucet
. - https://faucet.metamask.io/ and click
Send me 1 test ether!
- http://faucet.ropsten.be:3001/ and click
- Visit http://shd101wyy.github.io/ribbit/ to start using ribbit. The first time you visit ribbit website, it will ask you to finish a signup. Simply finish the form and then click
Publish profile to blockchain
button to create your account. Wait for a few minutes until the transaction finishes, then refresh your browser.
You may notice the
MetaMask
window pop up when you clickPublish profile to blockchain
button, that is because writing data to blockchain isn't free. You would have to pay for the miner to execute the transaction. You only need to change theGas Price
field in the MetaMask window. The higherGas Price
you set, the faster the transaction will finish.
Posts in ribbit are writtein in Markdown. There are two types of posts now:
- Normal post
for example:
This is a normal post written in [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet).
- Article post
for example:

# Article title
my content goes here
You can make a post to a topic by writing #{topic}
.
For example:
Hello #{world} will post this to `world` topic
You can mention a person in your post by writing @{username}
.
For example:
Hi @{ribbit} will notify the user `ribbit` this about post.
Will be on blockchain:
- Your profile information like your username, bio, avatar url, and cover url.
- Your posts written in markdown.
Will not be on blockchain:
- Your media files written in your markdown post, such as images, videos, etc...
- Your followings, faviorite topics, setttings will be saved locally in your browser.
$ npm run frontend:prepare # install necessary node modules for development
# on Windows, you might need to run the following in advance:
# $ npm install --global --production windows-build-tools
$ npm run frontend:dev # start building and watching.
# then open a new terminal and run =>
$ npm run server:start # start a static http server at address http://127.0.0.1:12345.
$ npm run frontend:build
then copy ./dist
to your server.
University of Illinois/NCSA Open Source License