Dear Ethereum Community,

I am so exciting to release my very first community application that non-profit and open-source. I called it Capsule Wallet, right now the common way for connecting your Dapps to blockchain is mostly based on Metamask. But with Capsule Wallet, it will be as a bridge to help you connect your Dapps to blockchain in many ways by providing a bunch of securely alternative methods such as MyEtherWallet, Trezor One, Ledger Nano S, Seed, Keystore, Private key, and others.

Capsule Wallet right now only supports React, but in the nearly feature, hope I can do it more.

You can find the package here:

And the source code here:


Image source:

Episode 1: We have discussed and created a very basic bounty contract that supports multi-sponsors, holds the bounty and deters many contexts of vulnerability.

For now, some assumptions are still in my curious questions, but in the first looks, I believe that it’s not impossible to find a right way…

Image source:

In this article, I am going to try resolving some aspects of a Decentralized Bounty Distribution Mechanism. To make it be able to work and easy to implement, I will set some assumptions that the bounty mechanism will be based on.

For now, some assumptions are still in my curious…

Image source:

It seems to be a long journey from first episodes to here, we have gotten all we need and this time, it will be the last shot to make everything clear about how Ethereum data organized in practice.

In my opinion, practising with examples is the best way to approach…

Image source: /r/ethereum by BitcoinIsTehFuture

Patricia trie is the main trie used in Ethereum to store data. It is a mixture of Radix trie and Merkle trie.

In order to make it easy to understand, I will take us to an inefficient Patricia trie first, then move to “improved” Patricia trie and finally, the “real”…

Trie is a main data structure used in Ethereum.

In the episode 1 and 1+, we got familiar with some encoding/decoding algorithms which are used for constructing Ethereum data. Now, we are moving on to the organization of data in Ethereum. I will introduce two kinds of trie, they are Radix trie and Merkle trie. Actually, they are not…

HP encoding in Golang.

In the episode 1, we discussed RLP Encoding/Decoding, however Ethereum still has another encoding called Compact encoding or Hex-prefix (HP) encoding. So, what are the differences between RLP and HP encoding? and How does HP encoding work? This article will help us to get it.

Moreover, I am going to…

Image source: by pixego

There are literally a lot of papers, blogs which explain how Ethereum organizes its data, but they all seem to be so disconnected and really hard to get an overall picture. …

Image source: by Sacha Jerrems.

Rock-scissors-paper game is a well-known game in the world. When two people play this game, the important thing is that both of them have to disclose their selection concurrently. However, it seems infeasible to create something concurrent with smart contract and make it work.

How to validate a Proof of Loss?

In the previous episode, I have showed the main ideas which shape up my proof of concept (PoC). You can find it here:

In summary, it has three main ingredients:

  1. Proof of Loss: proves your ownership with property that you lost.
  2. Revocable Property: makes your property possible to come back…

Phan Sơn Tự

A lucky guy was born in the Age of Cryptocurrency Boom

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store