Multi-token: ERC-1155
The standard for fungible, non-fungible, and semi-fungible tokens.
Last updated
The standard for fungible, non-fungible, and semi-fungible tokens.
Last updated
Let's start with a quick overview of the ERC721 and ERC1155 standards:
Pros | Cons | |
---|---|---|
Let's have a look at what Voting Strategies you can use in your space:
The strategy returns the balance of a specific ERC-1155 token in the user's wallet.
Since the ERC-1155 standard supports multiple token types, the tokenId
here may refer to a particular kind of token or a single item of the collection under the contract address.
If you want to get the balance of all tokenIds in the contract, you can use the erc1155-balance-of-all
strategy. If you have multiple tokenIds, you can use the erc1155-balance-of-ids
or erc1155-balance-of-ids-weighted
strategy.
Strategy setup:
You can test it out in the Playground on Snapshot:
This strategy returns the balance of voters for all tokens in an ERC1155 contract.
On Polygon, works only with contracts with total tokenIds less than 6000.
Strategy setup:
You can test it out in the Playground on Snapshot:
Use this strategy if you want to calculate the Voting Power taking into account multiple tokenIDs.
Try using this strategy with only a few tokenIDs passed in the parameter for the Score API server is likely to have difficulty handling a large number of requests.
Strategy setup:
You can test it out in the Playground on Snapshot:
By adjusting the multiplier
to 5, if a user owns 1 DAWN in his wallet, they will get 5 Voting Power (1*5).
Strategy setup:
You can test it out in the Playground on Snapshot:
If you'd like to give more or less weight to a list of specific tokenIDs, you can do so by using this strategy. It might serve as a great addition to the erc1155-with-multiplier for VP differentiation.
Strategy setup:
You can test it out in the Playground on Snapshot:
The equivalent of the Voting Strategy.
ERC-721
Most widely recognized, golden NFT standard
Inability to conduct batch transfers
ERC-1155
Supports different token types in a single contract, allows batch transfers
Stores less robust information in order to save time and transaction costs