Skip to content

Instantly share code, notes, and snippets.

View frozeman's full-sized avatar

Fabian Vogelsteller frozeman

View GitHub Profile

Keybase proof

I hereby claim:

  • I am frozeman on github.
  • I am frozeman (https://keybase.io/frozeman) on keybase.
  • I have a public key whose fingerprint is 3452 1ABF 002E C4CF 9F51 BB5F E51E ADA7 7F1A 4124

To claim this, I am signing this object:

## Full changelog
- Client binary refactor - asking user for permission before updating Geth (#1383)
- **.gitignore:** add 'npm-debug.log' (#1310)
- **codeclimate:** add config (#1381)
- **codeclimate:** enable GPA rating (#1410)
- **codeclimate:** fix eslint configuration in progress (#1389)
/**
* Base contract that all upgradeable contracts should use.
*
* Contracts implementing this interface are all called using delegatecall from
* a dispatcher. As a result, the _sizes and _dest variables are shared with the
* dispatcher contract, which allows the called contract to update these at will.
*
* _sizes is a map of function signatures to return value sizes. Due to EVM
* limitations, these need to be populated by the target contract, so the
* dispatcher knows how many bytes of data to return from called functions.
@frozeman
frozeman / ENSresolving.md
Created March 6, 2017 15:06
ENS resolving in Mist
  • eth://inigomontoya.eth -> calls resolver.addr() -> shows account page with balance or something
  • http://inigomontoya.eth -> calls resolver.a() -> will resolve a normal DNS ip
  • bzz://inigomontoya.eth -> calls resolver.multiHash() -> will resoslve using swarm
  • ipfs://inigomontoya.eth -> calls resolver.multiHash() -> will resoslve using ipfs
  • inigomontoya.eth -> will default to swarm and calls resolver.multiHash() -> will resoslve using swarm
@frozeman
frozeman / ercevocer.js
Created April 28, 2017 12:48
Use solidity ecrecover with signature calculated with eth_sign
// Change accountToSignWith to the address of your account.
var Web3 = require('web3');
var web3 = new Web3();
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
var accountToSignWith = '0xbedcf417ff2752d996d2ade98b97a6f0bef4beb9';
var message = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Tubulum fuisse, qua illum, cuius is condemnatus est rogatione, P. Eaedem res maneant alio modo.'
@frozeman
frozeman / mistfeatures.md
Created May 8, 2017 14:44
Mist Low Level Features
  • swarm integration
  • secure webviews
  • Mist UI
  • starting of nodes, switching networks etc
  • IPC proxy to the node
  • accounts/dapp permissions
  • preloader logic to inject stuff
  • node updatelogic
  • mist update logic
  • onboarding screen
@frozeman
frozeman / whisper-api-v5.md
Last active May 17, 2017 14:37
Whisper API spec

Whisper API 5.0

This is the proposed API for whisper v5.

Specs

shh_version

Returns the current semver version number.

@frozeman
frozeman / rpc-test.js
Last active January 18, 2018 22:36
Test RPC in node.js
/*
- $ geth --shh
- install node.js and npm
- $ mkdir testFolder
- $ npm install oboe
- $ node
- copy the code below
- exceute: send('eth_blockNumber', []);
*/
@frozeman
frozeman / chat.js
Created June 19, 2017 12:52 — forked from bas-vk/chat.js
whisper chat demo
var chat = {
username: "<not set>",
topic: "0xfeedbabe",
key: "",
identity: "",
pollInterval: null,
filter: null,
setUsername: function(name) {
this.username = name;
@frozeman
frozeman / whisper-api-test.js
Created June 27, 2017 15:31
Whisper web3.js 1.0 api test
var net = require('net');
var Web3 = require('./src/index.js'); var web3 = new Web3(new Web3.providers.IpcProvider('/Users/frozeman/Library/Ethereum/geth.ipc', net));
var shh = web3.shh;
var identities = [];
var subscription = null;
Promise.all([
shh.newSymKey().then((id) => {identities.push(id);}),
shh.newKeyPair().then((id) => {identities.push(id);})