Skip to content

Instantly share code, notes, and snippets.

Matthieu Riou matthieu

View GitHub Profile
@matthieu
matthieu / eth-split
Last active Jul 27, 2016
Calling the Ethereum splitting contract using BlockCypher
View eth-split
# Contract at:
# https://api.blockcypher.com/v1/eth/main/contracts/aa1a6e3e6ef20068f7f8d8c835d2d22fd5116444?token=$TOKEN
# http://etherscan.io/address/0xaa1a6e3e6ef20068f7f8d8c835d2d22fd5116444#code
# See also https://blog.ethereum.org/2016/07/26/onward_from_the_hard_fork/
$ cat split.json
{
"private": "...",
"gas_amount": 200000,
"params": ["3f071e84604d712ee034d776ed8f6405e1444c48", "34de916d2afc28564b118a4f2723d0274b223f32"],
@matthieu
matthieu / bc-contract-doc
Created Jul 12, 2016
Contract creation with BlockCypher
View bc-contract-doc
# The contract API includes the following endpoints (API token always required):
#
# POST /v1/eth/main/contracts
# Creates a new contract. Expects the solidity definition, the private key paying for the publication, the name of the
# contract to be published, the gas amount to use and eventual constructor parameters. The solidity code is compiled
# and the contract creation transaction built and broadcasted. Both the code and the ABI are saved for further
# retrieval. If invoked without contracts to publish, simply compiles and returns the result of compilation.
# Otherwise, along with the compilation results, will return the contract address and creation transaction hash and the
# contract methods will be exposed as endpoints (see below).
#
View gist:4c98575af988f3e6b194
Verifying I am +matthieu on my passcard. https://onename.com/matthieu
@matthieu
matthieu / gist:f18b54cb91c31d39ba54
Last active Aug 29, 2015
Validate the tosign data returned by BlockCypher
View gist:f18b54cb91c31d39ba54
# create the transaction
$ curl -d '{"inputs": [{"addresses": ["mtWg6ccLiZWw2Et7E5UqmHsYgrAi5wqiov"]}],
"outputs":[{"addresses": ["mzUqjgiGc3Mqh5zMiP5vXDNd7Hwx3K1xCU"], "value": 25000}]}' \
https://api.blockcypher.com/v1/btc/test3/txs/new?includeToSignTx=true
{
"tx": {
"block_height": -1,
"hash": "568acff13300b471d384e16a1a6d449be704e97b819f051dc4f1fb246726e471",
"addresses": [
"mzUqjgiGc3Mqh5zMiP5vXDNd7Hwx3K1xCU",
View keybase.md

Keybase proof

I hereby claim:

  • I am matthieu on github.
  • I am mriou (https://keybase.io/mriou) on keybase.
  • I have a public key whose fingerprint is 45B8 A602 A54E FB5E 0DEC 4970 E272 A45F 78F3 61CB

To claim this, I am signing this object:

@matthieu
matthieu / send_a_candy.sh
Last active Aug 29, 2015
Decrypts and send the send_a_candy JSON to BlockCypher to create a microtransaction
View send_a_candy.sh
#!/bin/bash
openssl enc -d -aes-256-cbc -base64 -in send_a_candy.json.aes256 2>&1 | \
curl -H "Content-Type: application/json" -d @- https://api.blockcypher.com/v1/btc/main/txs/micro?to_address=$1
@matthieu
matthieu / encrypt_send_a_candy
Last active Aug 29, 2015
Encrypt a JSON file before POSTing to BlockCypher
View encrypt_send_a_candy
$ openssl enc -aes-256-cbc -base64 -in send_a_candy.json -out send_a_candy.json.aes256
@matthieu
matthieu / new_address_curl
Last active Aug 29, 2015
Get a new address and keys from BlockCypher
View new_address_curl
$ curl -X POST https://api.blockcypher.com/v1/btc/main/addrs
{
"private": "da01587298ff1721a968539e87329abe18f9b20cb46124eb650671662d3acd1a",
"public": "02d47eaaca7f9b96a977c996396d1668a729155c02a18a37429ca5be9cfda91893",
"address": "1PjfjXBM4GQs8FaNFESiUZzQwVxMHXdBXG",
"wif": "L4XV4V5ACQmrtJn7ombma3sdqNrn1T9FFfwjLUaHVmd7Qz5iNHTt"
}
@matthieu
matthieu / send_a_candy.json
Created Mar 11, 2015
Partial JSON to POST to BlockCypher for a candy-size microtransaction
View send_a_candy.json
{
"from_private": "da01587298ff1721a968539e87329abe18f9b20cb46124eb650671662d3acd1a",
"value_satoshis": 2000000,
"token": "37048cd01f250eca918ab55b658de3ec"
}
@matthieu
matthieu / gist:d78bd39a6709c5be3dcd
Created Mar 7, 2015
Sending op_return transactions with BlockCypher
View gist:d78bd39a6709c5be3dcd
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Block Cypher</title>
<!-- Bootstrap -->
<link href="css/bootstrap.css" rel="stylesheet">
You can’t perform that action at this time.