Skip to content

Instantly share code, notes, and snippets.

@ryandotsmith
ryandotsmith / op_return.rb
Created February 9, 2015 19:45
Chain.com OP_RETRURN Transaction - Create Bitcoin OP_RETURN Transactions in Ruby
require 'bitcoin'
require 'chain'
Chain.block_chain = 'testnet3'
Bitcoin.network = :testnet3
include Bitcoin::Builder
key = Bitcoin::Key.from_base58("cVVBKRBMoPLJSSMW7cM3hji7VmXz1zJWX3DypcjPcWpRBMEu2xF7")
builder = Bitcoin::Builder::TxBuilder.new
@ryandotsmith
ryandotsmith / main.go
Created January 15, 2015 01:10
Sending an OP_RETURN Bitcoin Transaction with Go using Chain's Bitcoin API
package main
import (
"bytes"
"encoding/hex"
"encoding/json"
"io/ioutil"
"log"
"net/http"
@ryandotsmith
ryandotsmith / block-chain-u.js
Last active August 29, 2015 14:13
Block Chain U Code Examples Week 1 Lecture 1
var bitcoin = require('bitcoinjs-lib');
var Chain = require('chain-node');
var chain = new Chain({
blockChain: "testnet3"
});
/*
* key = bitcion.ECKey.makeRandom()
* key.toWIF()
+------------------+ +-------------------+
| SDK/Your Process | | Chain API |
+------------------+ +-------------------+
build transaction
+------------------------------------->
transaction template
<-------------------------------------+
@ryandotsmith
ryandotsmith / transaction-template.json
Last active August 29, 2015 14:11
Chain.com Transaction Template -
{
"inputs": [{
"address": "mxLGQRD9p3MayF7WrUJsyuY4cZdPSH2yA4",
"signatures_required": 1,
"signatures": [{
"address": "mxLGQRD9p3MayF7WrUJsyuY4cZdPSH2yA4",
"public_key": "<insert public key>",
"hash_to_sign": "ac366bdd3eb0ecd64d3d08a7d519d7fe5ceb263a499b135e3158fea04c87a89c",
"signature": "<insert signature>"
}]
@ryandotsmith
ryandotsmith / transact-example.js
Last active August 29, 2015 14:11
Chain.com Transaction - Create Bitcoin Transactions in Node.js
var Chain = require('chain-node');
var chain = new Chain(blockChain: 'testnet3');
var req = {
inputs: [{
address: "mxLGQRD9p3MayF7WrUJsyuY4cZdPSH2yA4",
// Private key never leaves this process!
private_key: "cNX5yYSnj6Bd3BEjsfV6ZQyn8hQYYDQB79vjHNkv7NAPazo9GBJT",
}],
outputs: [{
@ryandotsmith
ryandotsmith / op-return.js
Created December 8, 2014 03:57
Creating op-return transactions
var util = require('util');
var bitcoin = require('bitcoinjs-lib');
var Chain = require('chain-node');
var chain = new Chain({blockChain: "testnet3"});
var b = new Buffer("Hello, world.");
var t = new bitcoin.Transaction();
t.addInput("ca7e12c753bd2a268e6f038509d72f3c44fd24064ed5ef8cde13ec987d495a64", 0);
@ryandotsmith
ryandotsmith / chain-websockets.html
Created November 30, 2014 00:24
Chain jQuery Notifications Websockets Example
<!doctype html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
</head>
<body>
<ul id="thashlist"></ul>
</body>
<script type="text/javascript">
$(function() {
@ryandotsmith
ryandotsmith / chain-notifications.js
Created November 29, 2014 20:07
Chain Node.js Notifications Example
var express = require('express');
var bodyParser = require('body-parser');
var chain = require('chain-node');
chain.apiKeyId = 'YOUR-API-KEY-ID';
chain.apiKeySecret = 'YOUR-API-KEY-SECRET';
var app = express();
app.use(bodyParser.json());
app.post('/', function (req, res) {
@ryandotsmith
ryandotsmith / s_queue.rb
Last active August 29, 2015 14:07
Multi-threaded SQS Ruby Worker. I have tests. Maybe this is a gem? Lemme know if you find it useful.
require 'aws-sdk'
require 'json'
module SQSW
class SQueue
MissingQueue = Class.new(StandardError)
def initialize(url = nil)
raise(MissingQueue, "Missing queue_url") if url.nil?
@q = find_queue(url)