Skip to content

Instantly share code, notes, and snippets.

View gavofyork's full-sized avatar

Gavin Wood gavofyork

View GitHub Profile
```
➜ web3.js git:(develop) ✗ npm install
npm WARN unmet dependency /home/gav/Eth/webthree-umbrella/web3.js/node_modules/browserify requires constants-browserify@'~0.0.1' but will load
npm WARN unmet dependency /home/gav/Eth/webthree-umbrella/web3.js/node_modules/constants-browserify,
npm WARN unmet dependency which is version 1.0.0
npm WARN unmet dependency /home/gav/Eth/webthree-umbrella/web3.js/node_modules/browserify requires events@'~1.0.0' but will load
npm WARN unmet dependency /home/gav/Eth/webthree-umbrella/web3.js/node_modules/events,
npm WARN unmet dependency which is version 1.1.0
npm WARN unmet dependency /home/gav/Eth/webthree-umbrella/web3.js/node_modules/browserify requires stream-http@'^1.2.0' but will load
npm WARN unmet dependency /home/gav/Eth/webthree-umbrella/web3.js/node_modules/stream-http,
{
"sealEngine": "Ethash",
"params": {
"accountStartNonce": "0x",
"frontierCompatibilityModeLimit": "0xa2990",
"maximumExtraDataSize": "0x20",
"minGasLimit": "0x1388",
"gasLimitBoundDivisor": "0x0400",
"minimumDifficulty": "0x020000",
"difficultyBoundDivisor": "0x0800",
Started by upstream project "project-build" build number 2057
originally caused by:
Started by upstream project "webthree-prs" build number 248
originally caused by:
GitHub pull request #88 of commit e2656e8ce8e671222269915979425023e2a1ff3d, no merge conflicts.
[EnvInject] - Loading node environment variables.
Building on master in workspace /var/jenkins_home/sharedspace/webthree/label/master
Run condition [Execution node ] enabling prebuild for step [Execute Windows batch command]
Run condition [Current build status] enabling prebuild for step [[Execute shell]]
Run condition [Current build status] enabling prebuild for step [[Execute shell]]
Started by upstream project "project-build" build number 2055
originally caused by:
Started by upstream project "solidity-prs" build number 385
originally caused by:
GitHub pull request #274 of commit 2a49857ff9990fc451c2c65ade32a3aef8835317, no merge conflicts.
[EnvInject] - Loading node environment variables.
Building on master in workspace /var/jenkins_home/sharedspace/solidity/label/master
Run condition [Execution node ] enabling prebuild for step [Execute Windows batch command]
Run condition [Current build status] enabling prebuild for step [[Execute shell]]
Run condition [Current build status] enabling prebuild for step [[Execute shell]]
@gavofyork
gavofyork / gist:4d8a4c49da86d7d6f415
Created December 17, 2015 19:34
Original Solidity Language Vision (Gavin Wood, August 2014)
**NOTE This was first published on the cpp-ethereum wiki on August 29th, 2014. The original can be retrieved from the [git repo](https://github.com/ethereum/cpp-ethereum.wiki.git)**
An ABI is intended to serve as the de facto method for encoding & decoding data into & out of transactions.
For this ABI, contracts are treated as objects. They export a particular interface, not dissimilar from that of an OO language, for example for a contract `Foo`:
```
contract Foo
{
function sam(string32 in1) { ... }
@gavofyork
gavofyork / solidity-original
Last active October 14, 2022 14:13
solidity
**NOTE. This was first published by Gavin Wood on the cpp-ethereum wiki on August 29th, 2014. The original can be retrieved from the [git repo](https://github.com/ethereum/cpp-ethereum.wiki.git)**. Shouts to Lefteris, Christian and Liana for implementing it!
An ABI is intended to serve as the de facto method for encoding & decoding data into & out of transactions.
For this ABI, contracts are treated as objects. They export a particular interface, not dissimilar from that of an OO language, for example for a contract `Foo`:
```
contract Foo
{
function sam(string32 in1) { ... }
let e = Executive::new(&mut state, &blockchain, &engine, &t);
let e: Executed = e.transact(&t);
let e2: Executed = Executive::call(&e, call_arguments);
let e2: Executed = Executive::create(&e, create_arguments);
type ExecResult = Result<Executed, EthcoreError>;
pub enum Alphabet {
All,
Low,
Mid,
Custom(Bytes),
}
pub struct StandardMap {
alphabet: Alphabet,
min_key: usize,
pub struct StandardMap {
min_key: usize,
journal_key: usize,
count: usize,
}
impl StandardMap {
fn random_bytes(min_count: usize, journal_count: usize, seed: &mut H256) -> Vec<u8> {
assert!(min_count + journal_count <= 32);
*seed = seed.sha3();