Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am richhorrocks on github.
  • I am richhorrocks (https://keybase.io/richhorrocks) on keybase.
  • I have a public key ASAl6ZMHXD-SYpF2qVqkLVQEnd1r38ScTAT6Vd-x7QMdwgo

To claim this, I am signing this object:

@RichHorrocks
RichHorrocks / etherscan_get_tx.py
Created October 15, 2018 10:23
Etherscan Python API
from etherscanAPI import etherscan
apikey = 'yourAPIkey'
myapi = etherscan(apikey, 'mainnet')
currentblock = etherscan.getBlockNumber()
txlist = []
while len(txlist) < 1000:
block = etherscan.getBlockByNumber(currentblock-i)
txlist.append(block['transactions'])
import React, { Component } from 'react';
import axios from 'axios';
import { Dropdown } from 'semantic-ui-react';
class Data extends Component {
constructor(props) {
super(props);
this.state = {
tokens: [],
import React, { Component } from 'react';
import axios from 'axios';
class Data extends Component {
constructor(props) {
super(props);
this.state = {
array: [],
};
function dumpDiff() {
var i,end;
var block;
end=web3.eth.blockNumber;
var prev_ts=0;
var seconds;
for (i=0;i<end;i++) {
block=web3.eth.getBlock(i,true);
seconds=block.timestamp-prev_ts
@RichHorrocks
RichHorrocks / chat.js
Created September 29, 2017 20:37 — 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;
# install go compiler
apt get install golang
# set up go environment
mkdir ~/go
export GOPATH=$HOME/go
# clone go-ethereum source code
go get github.com/ethereum/go-ethereum
cd ~/go/src/github.com/ethereum/go-ethereum
@RichHorrocks
RichHorrocks / bomp.py
Created January 7, 2017 10:38 — forked from 5chdn/bomp.py
difficulty bomp impact prediction as of may, 10, 2016.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys, time
def f(diff, n):
"""
This function returns the new difficulty.
"""
period_count = (n + 1) // 100000
/* paste into http://script.google.com
run periodically (e.g. every 5 minutes) with a timer by selecting 'Resources' > 'current project's triggers...'
*/
function filterLongEmails() {
var num_messages = 1; // will be applied to the last n messages. Google allows up to 500
var word_limit = 50;
var subj = "Shorter emails will get read.";
var body = "Dear friends, I value my time and yours but I appreciate it if you can keep your emails under " + word_limit + " words. Please edit and resend.";