mickaelgermemont / attendancecoin Goto Github PK
View Code? Open in Web Editor NEWAttendanceCoin for NYC-Blockchain-Devs
License: MIT License
AttendanceCoin for NYC-Blockchain-Devs
License: MIT License
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?
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.
What can we put into the token to make it valuable?
What other features do we want it to have?
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
I have a doubt:
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
the ERC721 issued on a particular session will have 2 parts:
(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?
Lets add the NYC-blockchain-devs to the slack channel with the attendanceCoin channel.
For late attendees, will there be something like a coin with a lower value? How will the valuation be like?
Once we create the Attendance coin, all the attributes that we want to add should be accomplished using a decentralized voting contract.
@tesla809 your thoughts?
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).
share your eth address here and receive some AttendanceCoin on Rinkyby
Check all coin holders: https://rinkeby.etherscan.io/token/0x05e710afeebe27972e45f75aca2d16ec2c698f45#balances
Let us put together a list of Dapp projects that will support our efforts in learning Blockchain development.
Add any tutorials or Dapp project ideas to this issue.
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!
Any other things we should add to docs on a rolling basis? Lets discuss here.
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
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.
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
the goal is to create the AttendanceCoin!!
should we use that as our implementation?
also please share your rinkeby testnet address so we can create the pool of founders.
my address is 0x8c31cC3E155f9C4ef847F8C9968BAf87A90E7682
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.
How do we go about distributing the token on meetup day?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.