View bitcore-lib-privatekey-to-web3-account.js
const Web3 = require('web3')
const web3 = new Web3("")
const eth = web3.eth
const bitcore = require('bitcore-lib')
const PrivateKey = bitcore.PrivateKey
const privateKey = new PrivateKey()
View bucket_policy.json
"Version": "2012-10-17",
"Statement": [
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
View run-latest-cmd.applescript
# focus terminal
tell application "Terminal"
end tell
# up arrow - enter (run last command)
tell application "System Events"
key code 126
key code 36
end tell
View deploy.js
#! /usr/bin/env node
const c = console
const Web3 = require('web3')
const {promisify} = require('util')
const web3 = new Web3('ws://localhost:8546') // ws are faster
// const web3 = new Web3('http://localhost:8545') // standard http json rpc
View ABToken.sol
pragma solidity ^0.4.8;
contract ABTokenBase {
/* This is a slight change to the ERC20 base standard.
function totalSupply() constant returns (uint256 supply);
is replaced with:
uint256 public totalSupply;
This automatically creates a getter function for the totalSupply.
This is moved to the base contract since public getter functions are not
currently recognised as an implementation of the matching abstract
View kovan-address.txt
View fixed_supply_token.sol
pragma solidity ^0.4.8;
// ----------------------------------------------------------------------------------------------
// Sample fixed supply token contract
// Enjoy. (c) BokkyPooBah 2017. The MIT Licence.
// ----------------------------------------------------------------------------------------------
// ERC Token Standard #20 Interface
contract ERC20Interface {

Single motor 6374 190KV FOC Vesc config (via auto detection) 10S8P li-ion w/ BMS (1y low usage)

I followed the wizard and used the default FOC detection settings, I just modified the current limits (motor/battery) + PPM settings obviously. I haven't changed (played with) any custom FOC setting yet as the default one seem to be good enough.


Rider Weight ~100kg

Top Speed: 40 km/h (23 mph) when fully charged

View gist:b111d24d54e8735dc5e03c35770659ac
import "AssetLedger.sol";
// TODO describe rules of exchange.
// In the AF market all users benefit from a "last look" facility to prevent
// them falling foul of mechanical arb sniping by those exploiting the way
// the blockchain and smart contract data lags the real markets being tracked.
// The system proceeds through a series of batching steps, which in practice
// might correspond to some number of blocks (for example, each batching step
// corresponds to a block). Orders collected in batching step B_i are initially
// in a "pending" state although visible within the book. Orders then remain
View rinkeby-address.txt