npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

meetup-token

v0.0.2

Published

An Ethereum ERC20 compatible token for members of a meetup.com group

Downloads

1

Readme

Meetup token

An Ethereum ERC20 compatible token for members of a meetup.com group.

Smart Contract

The solidity code for the smart contract is in transferableToken.sol

The Sydney Ethereum contract address on main net is 0xe06eda7435ba749b047380ced49121dde93334ae

The contract can be viewed Etherscan at https://etherscan.io/token/0xe06eda7435bA749b047380CEd49121ddE93334Ae

The Application Binary Interface (ABI) for the contract is in TransferableMeetupToken.abi

Installation

Once Node.js has been installed run the following

npm install meetup-token

Usage

./mcoin.js [options] [command]

  Options:
    -k, --key <key>                Meetup API key
    -m, --meetupName <meetupName>  Meetup name. eg SydEthereum
    -h, --wshost <wsHost>          Host of WS-RPC server listening interface (default: "localhost")
    -p, --wsport <wsPort>          Post of WS-RPC server listening interface (default: "8546")
    -o, --owner <owner>            Address of contract owner
    -c, --contract <contract>      Contract address of the Meetup token
    -b, --contractBlock <contractBlock>  Block the Meetup token contract was deployed
    -s, --symbol <symbol>          Symbol of the Mettup token (default "SET")
    -t, --tokenName <tokenName>    Name of the Meetup token (default "Transferable Sydney Ethereum Token")
    -h, --help                     output usage information

  Commands:
    deploy      deploy new Meetup token contract
    members     Issue tokens to new members of the Meetup
    event <id>  Issue tokens to members who attended a Meetup event with Meetup event id

Configuration

Configuration files are under the config folder. The command options will override any configured values.

  • logger.yaml sets the logging level
  • meetup.yaml sets the Meetup API key and meetup name.
  • token.yaml sets Ethereum node connection details and details about the token smart contract.

Why?

This project is primarily about getting the Sydney Ethereum community to collaborate on a project and explore the uses of an Ethereum token. The initial thoughts are it could be used for voting rights and promotional offers. It'll be open to the community to further innovate with the token.

The other reason for the project is to give the members of the community who have not been hands on with Ethereum encouragement to setup a wallet and explore the Ethereum ecosystem. Since they are getting the token for free, it's a good way to bring people in and start thinking about how tokens could be used in their lives. This could be for community, business, government, study or anything else.

How does it work?

Members will enter their public Ethereum address in their introduction section of their meetup profile. The introduction is different for each meetup group they are a member of so different tokens can be used for different groups. The public key can be anywhere in the intro field as the program will just selected the first word that complies to the Ethereum address rules. eg start with 0x and is then 40 hexadecimal characters. eg 0x93B7fe67cb18D5900a19C25C4a72240392502c6d

When a member joins the meetup group and have entered their Ethereum address in their intro, a number of tokens will be issued to them. When they attend a meetup more tokens will be issued to them. The amount of tokens issued is configurable and is up to the meetup group to decide their rules.

Testing

Geth

This project comes with scripts to run a development instance of geth to test deploying a token contract and issuing tokens to it.

Initial Setup

In the scripts folder, run the following commands on a Mac OSX or Linux platform

cd scripts
chmod a+x initGeth.sh
./initGeth.sh

This is start a new development blockchain using the genesis.json file. The chain data will be under testchain in the geth folder.

Starting Geth

If the above initial setup has already been done, the development geth node can be started with

cd scripts
chmod a+x startGeth.sh
./startGeth.sh

Parity

Starting Parity

In the scripts folder, run the following commands on a Mac OSX or Linux platform

cd scripts
chmod a+x startParity.sh
./startParity.sh

This is start a new development blockchain using the meetupChainSpec.json specification file and parityDevConfig.toml config file. The chain data will be under testchain in the parity folder.

Developers

This project was an excuse to try out a number of new technologies including

  • Ethereum
  • Geth
  • Parity
  • Ethereum Web3 1.0 client
  • TypeScript
  • JavaScript Promises
  • JavaScript async/await
  • Websockets

Donations

Donations to Sydney Ethereum can be made to:

  • Ether: eth.sydeth.com, ENS donate.sydethereum.eth 0xF777fc174776879eeD1855560C37Eded66389a3b
  • Bitcoin: btc.sydeth.com 1GBJdLEFseZqksQCMSAzNudaANkHkxpjx2