All Projects → Giveth → Minime

Giveth / Minime

Licence: gpl-3.0
Minimi Token. ERC20 compatible clonable token

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Minime

rater-js
Star rating widget for the browser. Unlimited number of stars. No dependencies. No Jquery required.
Stars: ✭ 66 (-87.18%)
Mutual labels:  vote
rating
⭐ A true Bayesian rating system with scope and cache enabled
Stars: ✭ 49 (-90.49%)
Mutual labels:  vote
spoti-vote
Web application to vote the next Song in Spotify Queue
Stars: ✭ 14 (-97.28%)
Mutual labels:  vote
WoWSimpleRegistration
Simple Registration page for TrinityCore/AzerothCore/AshamaneCore/CMangos
Stars: ✭ 121 (-76.5%)
Mutual labels:  vote
yii2-vote
Provides voting for any model 👍 👎
Stars: ✭ 70 (-86.41%)
Mutual labels:  vote
Room-Meter
Room Meter is a hotel review site where users can create reviews in form of articles and vote on other reviews. It's built with the Ruby on Rails framework by following the MVP pattern
Stars: ✭ 12 (-97.67%)
Mutual labels:  vote
Raty
🌟 Raty - A Star Rating Plugin
Stars: ✭ 2,292 (+345.05%)
Mutual labels:  vote
Voterobot
微信朋友圈投票活动的“刷票”案例分析。
Stars: ✭ 297 (-42.33%)
Mutual labels:  vote
Votes
LarkVote投票系统是一套基于规则的企业内部投票系统,由投票管理和投票端两部分组成,投票管理端包括投票创建、投票编辑、规则编辑、投票发起、投票项管理、邀请码生成、结束投票、投票结果统计等功能;投票端包括投票规则展示、投票操作、提交结果等功能。目前该项目还处于初级阶段,欢迎各位大神创建pull request。
Stars: ✭ 60 (-88.35%)
Mutual labels:  vote
micropayment-voting
🦅 Vote as bitcoin micropayment.
Stars: ✭ 14 (-97.28%)
Mutual labels:  vote
PollDaddyHack
Exploit PollDaddy polls
Stars: ✭ 33 (-93.59%)
Mutual labels:  vote
vote-schulze
Vote calculation with Schulze method (Condorcet voting)
Stars: ✭ 23 (-95.53%)
Mutual labels:  vote
worlddriven
Automatic and well-defined pull request merged based on contribution-based weighted voting
Stars: ✭ 14 (-97.28%)
Mutual labels:  vote
ballotnav
A repository for HackforLA's BallotNav project
Stars: ✭ 21 (-95.92%)
Mutual labels:  vote
easypoll-v3
EasyPoll Discord Bot | With EasyPoll, a Discord Poll Bot, you can easily create polls and your members can vote by clicking on a reaction very easily and quickly.
Stars: ✭ 35 (-93.2%)
Mutual labels:  vote
Laravel-rating
Laravel package that allows you to rate, like & dislike and vote(+1,-1) your models with a simple and clear ways
Stars: ✭ 204 (-60.39%)
Mutual labels:  vote
laravel-vote
⬆️ ⬇️ User vote system for Laravel Application.
Stars: ✭ 53 (-89.71%)
Mutual labels:  vote
Laravel Acquaintances
This package gives Eloquent models the ability to manage friendships (with groups), followships along with Likes, favorites..etc .
Stars: ✭ 449 (-12.82%)
Mutual labels:  vote
Election Geodata
Precinct shapes (and vote results) for US elections past, present, and future
Stars: ✭ 289 (-43.88%)
Mutual labels:  vote
govote-app
Simple Preact app to help people find locations to get PVCs and Vote in the upcoming Nigeria General Elections. It's built on the govote-api API.
Stars: ✭ 34 (-93.4%)
Mutual labels:  vote

MiniMe Token

Build Status

The MiniMeToken contract is a standard ERC20 token with extra functionality:

The token is easy to clone!

Anybody can create a new clone token from any token using this contract with an initial distribution identical to the original token at a specified block. The address calling the createCloneToken function will become the token controller and the token's default settings can be specified in the function call.

function createCloneToken(
    string _cloneTokenName,
    uint8 _cloneDecimalUnits,
    string _cloneTokenSymbol,
    uint _snapshotBlock,
    bool _isConstant
    ) returns(address) {

Once the clone token is created, it acts as a completely independent token, with it's own unique functionalities.

Balance history is registered and available to be queried

All MiniMe Tokens maintain a history of the balance changes that occur during each block. Two calls are introduced to read the totalSupply and the balance of any address at any block in the past.

function totalSupplyAt(uint _blockNumber) constant returns(uint)

function balanceOfAt(address _holder, uint _blockNumber) constant returns (uint)

Optional token controller

The controller of the contract can generate/destroy/transfer tokens at its own discretion. The controller can be a regular account, but the intention is for the controller to be another contract that imposes transparent rules on the token's issuance and functionality. The Token Controller is not required for the MiniMe token to function, if there is no reason to generate/destroy/transfer tokens, the token controller can be set to 0x0 and this functionality will be disabled.

For example, a Token Creation contract can be set as the controller of the MiniMe Token and at the end of the token creation period, the controller can be transferred to the 0x0 address, to guarantee that no new tokens will be created.

To create and destroy tokens, these two functions are introduced:

function generateTokens(address _holder, uint _value) onlyController

function destroyTokens(address _holder, uint _value) onlyController

The Token's Controller can freeze transfers.

If transfersEnabled == false, tokens cannot be transferred by the users, however they can still be created, destroyed, and transferred by the controller. The controller can also toggle this flag.

// Allows tokens to be transferred if true or frozen if false
function enableTransfers(bool _transfersEnabled) onlyController

Applications

If this token contract is used as the base token, then clones of itself can be easily generated at any given block number, this allows for incredibly powerful functionality, effectively the ability for anyone to give extra features to the token holders without having to migrate to a new contract. Some of the applications that the MiniMe token contract can be used for are:

  1. Generating a voting token that is burned when you vote.
  2. Generating a discount "coupon" that is redeemed when you use it.
  3. Generating a token for a "spinoff" DAO.
  4. Generating a token that can be used to give explicit support to an action or a campaign, like polling.
  5. Generating a token to enable the token holders to collect daily, monthly or yearly payments.
  6. Generating a token to limit participation in a token sale or similar event to holders of a specific token.
  7. Generating token that allows a central party complete control to transfer/generate/destroy tokens at will.
  8. Lots of other applications including all the applications the standard ERC 20 token can be used for.

All these applications and more are enabled by the MiniMe Token Contract. The most amazing part being that anyone that wants to add these features can, in a permissionless yet safe manner without affecting the parent token's intended functionality.

How to deploy a campaign

  1. Deploy the MinimeTokenFactory
  2. Deploy the MinimeToken
  3. Deploy the campaign
  4. Assign the controller of the MinimeToken to the campaign.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].