Skip to content

Instantly share code, notes, and snippets.

@ryandotsmith
ryandotsmith / confidence.js
Last active August 29, 2015 14:05
Demonstrate transaction confidence using Chain.com's Bitcoin API
var chain = require('chain-node');
var confidant = function(txid, retries, cb) {
chain.getTransaction(txid, function(err, resp) {
if(resp.propagation_level > 0.9) {
cb(resp.propagation_level);
} else {
if(retries > 60) {
cb(null);
} else {
@ryandotsmith
ryandotsmith / webhooks.js
Last active June 20, 2016 08:17
Chain.com Webhooks Example
/*
Chain's Webhooks system will send an HTTP request
to our app with an event type of 'address-transaction'.
The body of the request will contain Chain's transaction
object. We can use this payload to do whatever we want!
*/
app.post('/', function (req, res) {
if (req.body['event'] == 'address-transaction') {
sendSMS(req.body.transaction)
res.send('OK\n');
@ryandotsmith
ryandotsmith / cond_test.go
Last active August 29, 2015 14:04
sync.Cond test cases
package main
import (
"testing"
"sync"
"sync/atomic"
)
type EasyCond struct {
m *sync.Mutex
$ ruby x.rb
Address: 1FBVmnKtjgA676Xbatqx42dcGzaaPV4BU4 contains 4 transactions.
Address: 17j92xE73rEyexJSB4gwavd2YkpTKZWfAv contains 7 transactions.
select txn_summary(data) from txns limit 1;
@ryandotsmith
ryandotsmith / index.html
Last active August 29, 2015 14:02
An example for how to authenticate against Chain using CORS
<!doctype html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<p>Balance: <span id="balance"></span></p>
</body>
@ryandotsmith
ryandotsmith / index.js
Last active August 29, 2015 14:01
Chain - Send Transactions API
var chain = require('chain-node');
var bitcoin = require('bitcoinjs-lib');
// The Chain API will never accept your private key.
// Keep the private key stored in a safe place alongside
// your program.
var key = new bitcoin.ECKey.fromWIF("Your private key in WIF format.")
var txn = new bitcoin.Transaction()

Keybase proof

I hereby claim:

  • I am ryandotsmith on github.
  • I am ryandotsmith (https://keybase.io/ryandotsmith) on keybase.
  • I have a public key whose fingerprint is 2D60 72AC 8048 3B96 6F2E 5211 EC2F C28B D8ED AF6F

To claim this, I am signing this object:

@ryandotsmith
ryandotsmith / crafty.patch
Created December 20, 2013 16:46
Crafty: remove listener which prevents touchmove events
From 3bfcdec1cfbf155fade70afbb0a8aee91a46d5e3 Mon Sep 17 00:00:00 2001
From: Eric Rykwalder <e.rykwalder@gmail.com>
Date: Thu, 19 Dec 2013 18:38:23 -0800
Subject: [PATCH] fix disableTouch issue on crafty
---
static/libs/crafty.js | 9 ++++++---
static/systems/home.js | 2 ++
2 files changed, 8 insertions(+), 3 deletions(-)
@ryandotsmith
ryandotsmith / gist:7835702
Created December 7, 2013 00:40
Snake to camel
def s2c(x)
case x
when Hash then Hash[*x.flatten(1).map{|x| s2s(x)}]
when Array then x.map{|x| s2s(x)}
when Symbol then String(x).camelcase
else x
end
end