GithubHelp home page GithubHelp logo

reactmeetup's People

Contributors

andytudhope avatar

Watchers

 avatar  avatar  avatar

Forkers

isabella232

reactmeetup's Issues

Ongoing Update Community Principles Issue

There is a Principles.md file in this repo that is intended as a living document for the community. I will issue ongoing rewards in Ether for updates to it from anyone in the world.

All you need to do is sign up at openbounty.status.im, update your Ethereum address in the Payment Details section and then submit a Pull Request with your changes to the Principles file.

It's alive!!

Meetup MVP

Preamble

Idea: PROC001
Title: MeeToken MVP
Status: Draft
Created: 17/01/2018

Summary

Build out a proper MVP using MiniMe Tokens (potentially with ERC223 support included), a CheckIn smart contract and a basic, mobile DApp that can be used to mint and claim tokens when a person attends a meetup.

Product Overview

This product is about educating, organizing and incentivising viable, self-sustaining and well-funded communities all around the world. it ought to leverage the structural features of decentralized networks like Ethereum as the primary medium for allowing and/or enabling people to interact/transact with each other and generate the value required to keep their community going and working on things/attending events that really interest them and that advance their search for meaning and significance in this world.

Product Description

This is all about making it possible to receive tokens for showing up in person at Ethereum meetups all around the world and contributing to the community. It's quite literally about rewarding people for having skin in the game (geddit? ๐Ÿ˜‰ ) and then using those tokens to provide real, communal utility through access to educational resources, job listings, token-controlled group chats, RSVPs and priority seating at events, ticket price discounts, and community projects organized and incentivized through the use of tokens.

Requirements & Dependancies

We need the media API permissions for DApps within Status to be solved. Issue tracked here.

Minimum Viable Product

This MVP includes a suite a smart contracts that handle

  1. MiniMe Tokens with simple controller (i.e the CheckIn contract described below) to mint tokens and transfer the tokens to accounts that submit the correct signed data in time to prove they were at the meetup.
  2. A CheckIn contract that produces some random, unique hash per meetup (with a block number-based expiry date) that can be used to construct a QR code that people can scan from Status, sign the data and submit a transaction back to it to prove they were at the meetup in person and receive tokens in a decentralized, trust-less and programmatic way.
  3. A basic, mobile-optimized DApp that lives within Status and allows the user to scan a QR code when arriving at a given meetup, prove that they were there in person, and receive some tokens into their Status wallet as a result of that.
pragma ^0.4.18

contract CheckIn is Ownable, minimeTokenController {
     mapping (address => address) public managers;

     modifier canManage(address addr) {
        require(msg.sender == addr || msg.sender == managers[addr]);
        _;
    }

    function createMeetup(address _addr, string _randomData) public pure canManage(address addr) returns (bytes32) {
       return keccak256(_randomData, msg.sender);
    }

    function validateCheckIn(uint _createdAt) public returns (bool) {
       //TODO validate checkin properly and add dynamic amount calc (could also be static though)
      payoutforAttending(msg.sender, amount)
    }

    function payoutForAttending(address _to, uint _amount) internal returns (bool) {
      //TODO likely some require checks here depending on final structure 
      mintAndSend(_address, _amount)
    }

}

Dates

Goal Date: 31/01/2018

Success Metrics

Safe and secure smart contract suite with requisite tests that prove on the CheckIn contract can mint tokens, and that it only does so when provided with the correct signed data within the expiry date it sets.

Iteration 1

Goal date: TBD

A web-frontend accessible through both a normal browser (using Brave of MetaMask), or just through Status itself. This frontend requires a token to log in, so - although there is initially no value behind the token and they are just being minted out of thin air as a "Proof-of-Meetup" - there is a certain kind of utility associated with it already.
This frontend will include a bunch of different resources which are currently the property of LinumLabs - educational content and videos, some job listings, the ability to create events that require tokens to attend etc.
If Status has implemented the functionality by this stage, we will also use the token to control access to chat groups unique to each meetup and the global meetup community. This is one the keys to generating actual utility for the token. Instead of cold-calling or emailing experts you may have heard of - just attend a meetup and get access to a chat group where you can speak to them directly! (This may be moved to iteration 3 depending on Status' timeline).

Iteration 2

Goal date: TBD

Change the controller of the MiniMi Token contract to handle an Anti-ICO.

The new controller would be a contract that stores a bunch of ETH as collateral that we will raise through research grants from organisations interested in being involved with this and running their meetups through our platform.

The contract then mints a number of tokens based on a specific exchange rate between ETH and MET and airdrops those tokens to a list of meetup community members we are gathering and will continue to do so through a similar process used by the Sydney Ethereum Meetup. Community members then have a set time in which they can exchange their tokens back for ETH (hence the Anti-ICO pattern). Once that period is over, the "anti-sale" closes down and we have an established market-based price for MET, which can then be traded on open exchanges and used to organize and incentivise interesting work within communities in between in-person meetups.

As you can tell, there are still a lot of moving parts to the exact mechanisms and parameters we will use here, but we feel the basic idea is interesting enough to draw the requisite attention to drive some value into the token which our meetup communities can then use to sustain themselves. Add to this that the token will already have some utility within the web app and Status and we feel confident that this could present an interesting and different token model.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.