- Jaikishan Jalan
Why ERC721 is better than ERC20 to represent a real estate property on ETH blockchain
Updated: Feb 11, 2019
We recently built a solution to help real estate professionals to record a sale of property and title ownership on the blockchain. See: Using blockchain for title registration in real estate industry
We represented each property via an ERC20 token. Note that each ERC20 token is exactly the same just like how each $1 bill are same – same value, same look, and feel. In order to maintain which token represents which property, we maintained a mapping of address to the owner who currently owns the token:
The Property Transfer Info is a struct as follows:
struct PropertyTransferInfo {
Owner owner;
string deedURL;
}
struct Owner {
string name;
string email;
address walletAddress;
}
Every time a user wants to transfer a property, we would look for the current owner and transfer 1 token out of his wallet and update the information in our contract.
This has two issues –
In the real world, every property is different – shape, size, address, value. ERC20 does not allow to associate properties with a token.
If a user uses a system other than our engine to transfer token, we would lose track of which token belongs to which property.
Here comes advanced ethereum contract ERC-721.
It's a specification to create a token that can have properties associated with it. See technical specifications for ERC721: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
We can now associate address (and eventually other properties) with the address itself and each token is unique to a property. The DApp built previously still works as is. If you are interested to see all this in action and like to get a custom software solution built, please reach out to us at mohit@jalantechnologies.com.