Each IC is represented by an ERC-20 token. The token should be Ownable. An extra field is required for storing the IPFS hash of the metadata of the IC, which should be modifiable by the contract owner.
We can use something like LexToken that uses EIP-1167, in order to minimize the gas cost of deploying an IC on Mainnet.
We can use Bancor Formula or Aragon Fundraising to create a bonding curve sale, in order to do price discovery for the IC and do the initial distribution.
The userflow of creating an IC has the following steps:
We can use the Graph protocol for indexing ICs, by creating a subgraph. This would require the IC contracts to emit useful events that provide the data we need for the marketplace. We can also store the info in the IPFS metadata file in the subgraph to avoid querying IPFS directly.
We will use the Uniswap Merkle Distributor for handling Merkle drops.
We will also have an EIP-1167 based factory contract for cheaply deploying Merkle drop contracts.
We need a database for storing the Merkle trees, so that claimants can query it to acquire the Merkle proof needed for claiming the tokens.
We also need a server for creating the list of claimants (& the amount each of them can claim) and the Merkle tree, since it's too computationally intensive to be put on client-side.
Users should be able to see a list of all Merkle drops they are eligible for, the tokens they can receive, and the ICs responsible for their eligibility. If possible also display the dollar amount per IC each IC has provided to the user.
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing