• Stars
    star
    164
  • Rank 230,032 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

NO BLOCK NO PARTY

Build Status Coverage Status

What is this?

Demo

Demo Video

Have you ever encountered free party or meetup and realised that half the people registered did not actually turn up? BlockParty solves this problem by providing a simple incentive for people to register only if they mean it.

How does this work?

Simple. You pay small deposit when you register. You lose your deposit if you do not turn up. You will get your deposit back + we split the deposit of whom did not turn up. You go to party and may end up getting more money.

Targetted users

The current users are mostly participants of Blockchain related events, such as conference pre/post dinner, meetups, and hackathons. The users are expected to own some Ether (a virtual currency, shorten for ETH), to pay the deposit of the event, as well as usage fee of its platform called [Ethereum](http://ethereum.org).

How to setup

Option 1: access from mobile browser

This is the recommended way. The easier step by step guide is here

  • Step 1: Download Status.im, Cipher Browser or Trust Wallet from App store/Google play
  • Step 2: Create an account on your wallet, and make sure you have some Ether.
  • Step 3: Type the event url on their built in browser

Option 2: access from desktop browser with Metamask Chrome extension

This is the most popular way right now.

  • Step 1: Install Metamask Chrome extension
  • Step 2: Create an account on your metamask, and make sure you have some Ether.
  • Step 3: Refresh the page

Option 3: access from normal browser connecting to local node

This has been the standard way to access Dapp prior to Ethereum Wallet (lower than v 0.7)

geth --unlock 0 --rpc --rpcapi "eth,net,web3" --rpccorsdomain URL

NOTE: --unlock 0 will unlock with one account. --unlock 0 1 will unlock with two accounts.

How to play?

Type your twitter account, pick one of your address, then press 'RSVP'. It will take 10 to 30 seconds to get verified and you will receive notification. Once registered, join the party! Your party host (the contract owner) will mark you as attend. Once the host clicks `payout`, then you are entitled to `withdraw` your payout.

FAQ

Can I cancel my registration?

No

What happens if I do not withdraw my payout?

If you do not withdraw your payout within one week after the event is end, the host (contract owner) will clear the balance from the contract and the remaining blance goes back to the host, so do not keep them hanging

What happens if the event is canceled?

In case the event is canceled, all registered people can withdraw their deposit. Make sure that you register with correct twitter account so that the host can notify you.

What if there is a bug in the contract!

If the bug is found before the contract is compromised, the host can kill the contract and all the deposit goes back to the host so he/she can manually return the deposit. If the contract is compromised and the deposit is stolen, or his/her private key is lost/stolen, I am afraid that the host cannot compensate for you. Please assess the risk before you participate the event.

Can I host my own event using BlockParty?

Please contact the author of this project if you are interested.

Terms and conditions

By downloading and deploying this software, you agree to our terms and conditions of use. We accept no responsibility whether in contract, tort or otherwise for any loss or damage arising out of or in connection with your use of our software and recommend that you ensure your devices are protected by using appropriate virus protection.

Hacking guide

If you are interested in contributing to blockparty, have a look into "help wanted" tag on Github issues. They are relatively easy and does not require so much application specific knowledges.

Prerequisite

Installation

  • Run npm

Running test

  • Run ganache-cli -a 300 in one console
  • Generate test public/secret key
cd tmp/
openssl genrsa 2048 > test_private.key
openssl rsa -pubout < test_private.key > test_public.key
  • Run npm run test

Running test coverage

./node_modules/.bin/solidity-coverage

Running locally

  • Run local node (geth, ganache test rpc, etc)
  • Run ./node_modules/.bin/truffle migrate --network development
  • Run npm run dev
  • Open http://localhost:8080

NOTE: If you have metamask, your account on ganache will not have ether to register. Either send it via terminal, or open the browser in the incognite mode, so you use default account on local node.

Building asset files to deploy

  • Run npm run build
  • Upload the content of files under build directory

Encryption (experimental)

By passing public key file location to parameter of Conference during migration, it can allow user to register with their user name encrypted.

Configurable values (experimental)

Event name is configurable as name

eg: Encrypt participant name

./node_modules/.bin/truffle migrate --config '{"name":"CodeUp No..", "encryption":"./tmp/test_public.key"  }'

Changing number of participants

./node_modules/.bin/truffle migrate --config '{"name":"CodeUp No..", "limitOfParticipants":15}'

Deploying and running on real network

For ropsten and mainnet it now deploys via Infura. Pass the extra to set deployment specific

--network $NETWORK --mnemonic $SECRET

NOTE: ropsten and mainnet uses different gasPrice. Check truffle.js file and scripts/util/set_gas.js for the detail.

More Repositories

1

node-websocket-activity-monitor

JavaScript
72
star
2

dm-tokyo-cabinet-adapter

An experimentation to add ORM on top of Tokyo Cabinet
Ruby
54
star
3

off-l1

JavaScript
35
star
4

xdai-arb-graph

Crosschain Arbitrage opportunity graph
HTML
26
star
5

japanize

Ruby
18
star
6

crosschain-arbitrage-toolkit

HTML
17
star
7

websocket-server-node.js

A Web Socket server for local use written in JavaScript, using node.js.
JavaScript
15
star
8

the_joy_of_d3js

Commit by commit guide of Hans Rosling "GapMinder" data bisualization in d3.js
13
star
9

wsbench

Python
12
star
10

rhodes-twitter

JavaScript
10
star
11

log_watcher

node.js experiment to watch error logs
JavaScript
7
star
12

mmxiihack

mmxiihack website
JavaScript
5
star
13

rhosync-twitter-adapter

Ruby
5
star
14

my-l2-app

TypeScript
5
star
15

alley-oop

Minimum Automated Market Maker on Flow Blockchain
JavaScript
5
star
16

d3-tmbundle

JavaScript D3.js textmate bundle
5
star
17

expiringnames

Ruby
4
star
18

demystifying_druby_lrug_april_2012

Ruby
4
star
19

japanese_fine_software_writings

This is my collection of translating Japanese fine software writings
4
star
20

homestead-for-dummies

Walk through of DappsForBeginners (https://dappsforbeginners.wordpress.com/tutorials/javascript-api-1/)
HTML
4
star
21

indexcoop-dpi-app

This chart is developed to index the arbitrage opportunity showing the difference between the DPI Token price and the sum of their underlying assets and their proportion.
HTML
4
star
22

ens-sourcecred

Shell
3
star
23

stuckwithu

HTML
3
star
24

ensauctionstats

Ruby
3
star
25

haystack.js

Needle in a haystack
JavaScript
3
star
26

forest

A simple collection class to aggregate tree objects
Ruby
3
star
27

indexcoop-dpi-token

Contains the time series data of the underlying asset
TypeScript
3
star
28

subdomain-demo

JavaScript
2
star
29

deployer

TypeScript
2
star
30

me

my personal site
JavaScript
2
star
31

programming101

programming101 demo app done at devfest
2
star
32

stepup

you gotta step up
JavaScript
2
star
33

ens-metadata-service

TypeScript
2
star
34

ensbuildertest

JavaScript
2
star
35

try_tokyo

JavaScript
2
star
36

the-pot

JavaScript
2
star
37

gtt

Genesys Token Companion Dapp&Bot
JavaScript
2
star
38

cruise_forum_summarizer

A project to fetch forum data and create summary. This is stored just for backup purpose, so won't have much public use
JavaScript
2
star
39

colour-card

JavaScript
1
star
40

wave-of-presence

JavaScript
1
star
41

bubblyapp

JavaScript
1
star
42

backbone_coffeescript_examples

Test project to practice coffeescript
JavaScript
1
star
43

estat

Ruby
1
star
44

frontier.js

JavaScript
1
star
45

vertwo

ebay for insurance
JavaScript
1
star
46

reversr

Ruby
1
star
47

bountymax_old

JavaScript
1
star
48

savetheblock

An evidence based Initial Coin Offering insurance to make crowdsale more protectable against hacking.
1
star
49

btbtoken

JavaScript
1
star
50

bountymax

Bounty to the max
JavaScript
1
star
51

thegap

#mmxiihack FTW
Ruby
1
star
52

node-twitteroauth-example

This is copy of mencoder/node-twitteroauth with a bit of tweak
1
star
53

intro_tokyo_products_slide_at_nosqleu_2010

Ruby
1
star
54

secret_prediction

JavaScript
1
star
55

test1

This is an example of using node-twitteroauth in combination with other libraries of http://github.com/mediacoder.
C++
1
star
56

scala_kata

Scala
1
star
57

makoto-node-twitteroauth-example

This is copy of mencoder/node-twitteroauth with a bit of tweak
1
star
58

captiontweets

1
star
59

exmouth-market

Simple Sinatra based Web UI for Tokyo Tyrant
JavaScript
1
star
60

ruby_training

Ruby
1
star
61

possessed

Stats is the new controller!. Possession based Interactive video
JavaScript
1
star
62

js_twitter

This is just a sample app to practice how to organize javascript
JavaScript
1
star
63

rinda-examples

Ruby
1
star
64

websockets_drawing_sample

1
star
65

thefantasyeurozone2011

CoffeeScript
1
star
66

intro_tokyo_products_slide_at_lrug_may_2010

Ruby
1
star
67

bubbly

Ruby
1
star
68

tokyo_private_teacher

1
star
69

rails_view_tutorials

sample app to share mustache in client and server
Ruby
1
star
70

memorybox

JavaScript
1
star
71

zostest

JavaScript
1
star
72

dutchdapp

JavaScript
1
star
73

ensworklogs

1
star
74

ethertest

JavaScript
1
star
75

scrolltest

TypeScript
1
star
76

gas

JavaScript
1
star
77

op-test

JavaScript
1
star
78

dutch

HTML
1
star
79

ens-card-data

JavaScript
1
star
80

blockparty-home

HTML
1
star
81

flow

flow work assignment repo
JavaScript
1
star
82

sourcecred

Shell
1
star
83

etherserror

JavaScript
1
star
84

blockparty-admin

JavaScript
1
star
85

bye

JavaScript
1
star
86

durintest

JavaScript
1
star
87

dapp-boilerplate-test

TypeScript
1
star
88

my-ccip-app

HTML
1
star
89

durin-examples

1
star
90

stuckwithu2

TypeScript
1
star
91

l2-resolver

Solidity
1
star
92

merde

JavaScript
1
star