Coder Social home page Coder Social logo

attendancecoin's Introduction

AttendanceCoin

MVP Sucess rules for next week (August 13th 2018)

  • A contract
  • Deploy on testnet
  • Distribution? to people who submitted issue or commented in issues on github? active on the slack also gets rewards?

MVP Sucess rules for next week (August 20th 2018)

Lessons learned

  • Metamask would display a balance of 0. we fixed the issue. we learned that when there are 18 decimals, the ERC20 contract behaves like ETH. if you transfer 20. you actually manipulate 20 wei. in order to transfer 20 AC, you have to send 20000000000000000000.
  • Adding features to a deployed contract is not easy. but we can use the following pattern https://dappsforbeginners.wordpress.com/tutorials/interactions-between-contracts/
  • cant change the contract name. it is not backward compatible.

Subjects for later

  • FAUCET contract for TESTNET. distribute 8AC.
  • How to make it worthwhile to own?
  • Worthwhile because i can show it to employers?
  • Worthwhile because i can use it to attend a meetup even if its full??
  • What do you do with the coin? trade it for an interview?
  • Multisignature?
  • Use voting mechanism to add attibutes

Attendance Coin is Class Cash

Class Badge

  • It's a ERC721 Token, Collectible
  • Could help build a leaderboard based on dapps created

Blog / Steemit

  • We could implement that. see DelegateCall.com - Fully Blockchain based Q&A. Earn tokens for answering questions.

DAO / Governance / Voting

  • Could help build a leaderboard based on dapps created

Must do

Join Trello

Join our Slack

attendancecoin's People

Contributors

fodisi avatar mickaelgermemont avatar tesla809 avatar vutsalsinghal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

attendancecoin's Issues

Metamask balance not showing

(On the rinkbey testnet, using the deployed address of 0x05e710afeebe27972e45f75aca2d16ec2c698f45):

When I add a custom token on metamask, I am not able to see my balance. I can see my balance and trandsfer coins on remix. Is there any way to do this in metamask?

AttendanceCoin UX build UI - see your balance!

Hey guys!

How about we build a UI for this AttendanceCoin?
wouldnt it be great to simplify how we interact with the contract? its painful to open remix and look at our balance.

can we each create our frontend and next time we meet, we can decide which UI is best? then we merge that branch into master and make it our official FrontEnd (for now!)

Goal is to show the balance of an account!

Potential Use Cases for AttendanceCoin

  1. A platform where employers could vet prospective candidates for staffing needs.

Vetting Ideas
• Employers could vet candidates via assessments, coding challenges or any other project that is representative of the skill sets they are looking for with respect to the roles they want to fill.
• If prospects complete the work to an employers satisfaction they earn AttendanceCoin.
• If prospects earn enough AttendanceCoin they could pay for an interview with the employer that rewarded the coin to them.

  1. A platform that employers could use to create an employee incentives system.

Incentives Ideas
• Employees could earn AttendanceCoin to redeem for extra vacation
• If employees earn enough AttendanceCoin they could be rewarded a promotion
• Employers could use AttendanceCoin to incentivize training

AttendanceCoin distribution User Experience

How do we go about distributing the token on meetup day?

  • gather the eth address of each attending/contributing person?
  • attendancecoin owners interact with the token and just transfer the tokens?
  • how do we make that a more seamless user experience?

Bug in the contract balance function?

I believe our contract has some bug in one (or more) of our functions related to balances (balanceOf, and transfers).
Using our contracts balanceOf(address) function for my address I get a result of 13 AC tokens. However looking on Rinkeby-Etherscan, my balance is actually "0.000000000000000013".

Maybe this is also the reason why our token balance does not show on Metamask (which only shows 4 decimal places).

I'll investigate this more on the weekend, but maybe someone has a spare time to take a look at it.

ac-rinkeby-etherscan-balances

Faucet for attendance coin on testnet

Should we create a faucet to get Attendance Coin on the test net? we'd need to update the contract and create an user interface or create an independent contract to serve as the faucet. This faucet contract would receive an initial balance, so it could give to any user that requests Attendance Coin (small drops of 1, 5, 10 AT per request).

We need have ERC721 which will act as badges!

I have a doubt:

Approach 1

as we had decided, whoever attends a particular class, he/she will receive a unique coin "for having attended that session". So if each coin is unique (due to being ERC21), shouldn't we have ERC20 unique to a particular class?

We can have ERC20 factory which will create unique ERC20 for each session...

OR

Approach 2

the ERC721 issued on a particular session will have 2 parts:

  • part1 = "date of that session"
  • part2 = "Name of recipient"

Voting mechanism

Once we create the Attendance coin, all the attributes that we want to add should be accomplished using a decentralized voting contract.

Create Attendance Coin contract

the goal is to create the AttendanceCoin!!

should we use that as our implementation?

fixed-supply-erc20.sol

also please share your rinkeby testnet address so we can create the pool of founders.

my address is 0x8c31cC3E155f9C4ef847F8C9968BAf87A90E7682

ERC 721 Value

  • What can we put into the token to make it valuable?

  • What other features do we want it to have?

Project directory structure

I believe it's important to define the project directory structure (we need to think about third-party and internal libraries, third-party and internal contracts, unit testing, documentation, etc.). Maybe we should start with a default truffle directory structure. What are your thoughts on it? Or do you plan to use another tool/framework to develop the project?

Potential Use For AttendanceCoin

As a currency, AttendanceCoin must have some sort of circulation - one potential case may be for AttendanceCoin to be spent by prospective employees on fast-track applications from employers. Employers could set their own price - the market will find some sort of equilibrium because an employer that is not selling any fast-track applications will need to either lower their price or increase the incentive to work there. Prospective employees will be proving their worth by having coin to spend (which requires contributing to the community positively), while employers will get to see which applicants are serious about working at their company as well as who is credible within the community.

Proof of Learn mechanism

Since the meetup has limited spots, and we wish to encourage excellence we will integrate an incentive system to our meetup.

Problem:
We can't hold formal classes like those people are used to in school due to the non-exclusionary open nature of our meetup that allows anyone to join at any time. This is similar to how the Ethereum network allows anyone to participate in a permission-less manner.

This leads to the lack of social and time pressure via deadlines to get things done. The lack of any sort of payment makes it hard for people to assess the opportunity costs and by proxy the quality of the workshops.

Similar to Ethereum, we will solve this problem with a simple consensus mechanism. We will introduce a Proof of Learn. This will help us create an incentive mechanism to allocate our scarce resources, uphold a standard and push forward our learning in a decentralized manner. This is intended to be an incentive mechanism for decentralized classes.

For those actively involved, nothing will change. In fact, their merits will be more recognized. For those that aspire to reach those levels, they will have goalposts and task that you can aim for to level up.

What is Proof of Learn?
You can only come to the meetup if you have staked some time to learn. If you haven't taken the initiative to learn, you won’t be able to participate in our physical meetup.

As we move forward we will continue the attendanceCoin project to implement the system formally. With attendanceCoin, the more one participates the more coin and badges they are able to accumulate. Those that accumulate coin will be able to stake their coins to join our meetup. They receive their coins if they show up or lose them if they don’t. If they show up they will receive a bonus amount of coins.

The coins will in the future be redeemable for help from the community as a time bank, purchases of swag, and possible interviews.

For now, the proof will be a link to a twitter post, GitHub commit or social contribution to the community in the question to sign up for the meetup.

What counts as a proof?
Open source contributions:
- Contributions to the Linnia Protocol of some sort
- A project using the Linnia Protocol
- Contributions to the meetup's various repos
- Contributions to a personal open source project that you would like others to work on.

Progress on the curriculum:
- Proof of completing something on Crypto Zombies, Stephen Grider's course, etc
- Some sort of link to notes posted on Github with the commit
- Tweet from TeamTreehouse, Codecademy, FreeCodeCamp on progress

Social Contributions:
- Contributions on the slack channel
- Contributions to improving the decentralized joint curriculum.
- Marketing meetup to via social channels: Medium, Twitter, Reddit, Instagram
- Having friends sign up to Meetup and slack and using your name as a reference.
- Submitting resources to our slack channel

Leaderboard:
There will be a leaderboard which will display the top holders of the tokens generated by our Proof of Learn. At first it will be informal, yet as we standardize and develop attendanceCoin, we will formalize and quantify the rewards for each contribution and penalty.

Penalties:
Those that RSVP, but do not show will be penalized by not being able to attend.
To be put on the attend list you will have to make up for it with contributions to the community as outlined above.

What do you guys think?
@mickaelgermemont @vutsalsinghal @fodisi

How to display balance of all holders?

I suggest we have a variable like lastID and 2 mappings like IdToAddr and addrToId to keep track of how many holders are there. Then we can loop over and display balances

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.