Skip to content

Instantly share code, notes, and snippets.

Verifying that +yondonfu is my blockchain ID. https://onename.com/yondonfu
0x4feb658d0ed126f3eee29d5821144caceb580ca8
@yondonfu
yondonfu / ProjectOverview.md
Last active April 4, 2017 19:29
OSSMarket

Abstract

The OSSMarket project is a proof-of-concept approach to allocating time and resources for open source software development using economic incentives embedded in a blockchain based protocol.

Introduction

Open source software (OSS) is crucial component of software development. Individuals and organizations ranging from large technology companies like Google to hobbyist developers working on side projects rely on OSS. Arguably one of the most impressive attributes of OSS is that the continued development and maintenance of OSS projects often primarily depends on the altruism of contributors and maintainers. The scarcest resources of OSS projects end up being the time and attention of contributors and maintainers.

Although OSS has already seen a tremendous amount of success as is, it is not without its problems:

0x4Feb658d0Ed126F3Eee29d5821144CaCeB580CA8
0x706795572e48e18efc0894ad854755e3a15356b6
# Run with geth 1.7.2-unstable
# Go contract bindings generated with abigen
node scripts/parseTxData.js 09633db800000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e0f1f6b7c1b634ae7f7a2b6a0ade62dbf993f143415b94498c01fc71954521f4352702376a74866efb182ca7d2a932c122fd02f650a61230f7f428e0fc1c9b1a87000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000002e516d56684b50686f447976613257797447585241527462633257454c69466959477a58554e5368423738546e6647000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004106a0ab7f19817c671bdc5971a98a03e24e434c9c00faffacb426a85b04b2d4ac4eb009c10538c72069b7de451fe249256f1035d065c5a7e079a45d707c5cd4c8000000000000000
@yondonfu
yondonfu / keybase.md
Created January 12, 2018 03:00
Keybase

Keybase proof

I hereby claim:

  • I am yondonfu on github.
  • I am yondon (https://keybase.io/yondon) on keybase.
  • I have a public key whose fingerprint is 97FC 1D37 94EC 6B9F 930B 6245 ECDC C2B1 0013 32F9

To claim this, I am signing this object:

const abiDecoder = require("abi-decoder")
const ABI = require("./JobsManager.json")
const main = async data => {
abiDecoder.addABI(ABI)
const decoded = abiDecoder.decodeMethod(data)
console.log(decoded)
}
res=$(curl -s -X POST -H "Content-Type: application/json" localhost:8545 --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":83}' | jq '.result')
temp=${res%\"}
temp=${temp#\"}
blk=${temp:2}
blk=$((0x${blk}))
while (( $blk <= 5264265 ))
do
echo $blk
sleep 2

The findings below pertain to the Livepeer protocol smart contract code at Git commit hash 2889ad2d5f20507d58701acf4d47a0551e593c04.

Findings

1. If a registered transcoder A is delegated to another registered transcoder B, transcoder A will not be able to claim its reward cut as a transcoder

Description

Whenever a transcoder calls BondingManager.reward(), the newly minted inflationary tokens are placed in a reward pool for the round in which the tokens were minted. Both transcoders and delegators claim their reward shares for reward pools in past rounds by either explicitly