Skip to content

Instantly share code, notes, and snippets.

View ottodevs's full-sized avatar
🥷
Hacking

Otto G ottodevs

🥷
Hacking
View GitHub Profile

(This is a brief summary of Ethereum's white paper)

Ethereum 101

What is Ethereum

Ethereum is a new cryptocurrency, like Bitcoin or Litecoin, that adds a number of new features. Most notably the inclusion of Agents (also known as Contracts); Independent Turing-complete programs that exist on the Ethereum blockchain. These Agents can receive Ether (Ethereum's currency) and other inputs, perform computations, hold balances, transfer Ether, and even activate other Agents.

Ethereum also attempts to fix some current issues with cryptocurenncy mining, such as rise of specialized hardware, large mining pools that aim to control the network, and the lack of reward for stale blocks, dissuading miners with weaker hardware.

Agents

@ottodevs
ottodevs / pf.conf
Created May 11, 2017 22:32 — forked from trustin/pf.conf
Trustin's /etc/pf.conf for Mac OS X
# 1. Put this file to /etc/pf.conf
# 2. Install init boot scripts using IceFloor then - http://www.hanynet.com/icefloor/
# I tried to use IceFloor to configure everything but it didn't work very well.
# 3. Once done, you can confirm the rules were loaded with 'sudo pfctl -sr'
# 4. At System Preferences -> Security -> Firewall -> Firewall Options,
# check 'Block all incoming connections' to prevent annoying per-app dialogs.
set skip on lo0
set block-policy drop
/*
Foundation Tip Contract
Address: 0xfb6916095ca1df60bb79ce92ce3ea74c37c5d359
Bitcoin Shapeshift Address: 1GyczDXWjFbmhx2Qau4ham3zJqNEP8UcEG (if transaction fails it is sent to 39BaMQCphFXyYAvcoGpeKtnptLJ9v6cdFY instead)
Interface: [{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"proposals","outputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"},{"name":"description","type":"string"},{"name":"votingDeadline","type":"uint256"},{"name":"executed","type":"bool"},{"name":"proposalPassed","type":"bool"},{"name":"numberOfVotes","type":"uint256"},{"name":"currentResult","type":"int256"},{"name":"proposalHash","type":"bytes32"}],"type":"function"},{"constant":false,"inputs":[{"name":"proposalNumber","type":"uint256"},{"name":"transactionBytecode","type":"bytes"}],"name":"executeProposal","outputs":[{"name":"result","type":"int256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"memberId","outputs":[{"name":"","type":"uint

Frontier technical checklist: (FORK ME)

  • Build Geth release 1.0.0
    • git clone https://github.com/ethereum/go-ethereum.git; cd go-ethereum
    • git checkout release/1.0.0
    • make geth
  • Clean out old test net relics (export ETH=<data dir> default data dir on OS X ~/Library/Ethereum, Linux ~/.ethereum)
    • rm -rf $ETH/{blockchain,state,extra}
    • Make a backup of your old keys cp -r $ETH/keystore /path/to/backup/keystore.backup
  • Craft the genesis block
@ottodevs
ottodevs / install-yeoman-osx.md
Created February 13, 2016 01:08 — forked from rachelbaker/install-yeoman-osx.md
Instructions for installing Node NPM and Yeoman on OSX