Skip to content

Instantly share code, notes, and snippets.

View matiu's full-sized avatar

ematiu matiu

  • Bitpay Inc.
  • Tucuman, Argentina
View GitHub Profile
'use strict';
var imports = require('soop').imports();
var bitcore = require('bitcore');
var Storage = imports.Storage || require('./Storage');
function Wallet(opts) {
opts = opts || {};
this.network = opts.network === 'livenet' ?
bitcore.networks.livenet : bitcore.networks.testnet;
@matiu
matiu / gist:9833812
Last active August 29, 2015 13:57
Proposed TransactionBuilder Interfase.
/* create and sign */
var tx = TransactionBuilder.init(opts)
.addUtxos(utxos)
.addOutputs(outs)
.addKeys(keys)
.build();
broadcast(tx.serialize());
Cosign.prototype.cmd_raw_sign_scripthash = function(anypay, tx, i, scriptPubKey, txSigHash)
{
var scriptHash = scriptPubKey.capture()[0];
var addr = new Address(this.network.addressScript, scriptHash);
var addrStr = addr.as('base58');
if (!(addrStr in this.wallet.datastore.scripts))
return;
var scriptHex = this.wallet.datastore.scripts[addrStr];
//...
@matiu
matiu / gist:11182987
Created April 22, 2014 15:10
Creating and testing p2sh multisig bitcoin transactions
$bitcoind getinfo
{
"version" : 99900,
"protocolversion" : 70002,
"walletversion" : 60000,
"balance" : 15.74900000,
"blocks" : 226032,
"timeoffset" : -4,
"connections" : 9,
@matiu
matiu / gist:11237601
Created April 24, 2014 00:46
Copay peer handshake
Alice Bob
=================================================
.generates Extended PrivKey, PubKey
CopayerId=pubkey
PeerId=hash(CopayerId)
PeerID is provided to the PeerJS/WebRTC
P2P facilitator server
@matiu
matiu / gist:f17cacfdf9b3ae73619e
Last active August 29, 2015 14:02
insight-api

Sample return:

[
    {
    address: "n2PuaAguxZqLddRbTnAoAuwKYgN2w2hZk7",
    txid: "dbfdc2a0d22a8282c4e7be0452d595695f3a39173bed4f48e590877382b112fc",
    vout: 0,
    ts: 1401276201,
    scriptPubKey: "76a914e50575162795cd77366fb80d728e3216bd52deac88ac",
 amount: 0.001,
@matiu
matiu / gist:bdd5e55ff0ad90b54261
Created June 9, 2014 13:56
insight nginx config
server {
listen 80;
server_name your.public.domain.name;
root /your/home/insight;
access_log /your/home/insight-log/livenet-access.log;
error_log /your/home/insight-log/livenet-error.log;
location / {
proxy_pass http://localhost:3000;
$for i in `seq 1 20`;do mocha >> output; done
$ cat output |grep passing
89 passing (8s)
89 passing (8s)
89 passing (9s)
89 passing (8s)
89 passing (8s)
89 passing (8s)
89 passing (8s)
89 passing (8s)
### Keybase proof
I hereby claim:
* I am matiu on github.
* I am matiu (https://keybase.io/matiu) on keybase.
* I have a public key whose fingerprint is F8FC 1D9B 1B46 486D 273D AE51 0247 0DB5 5127 7AB3
To claim this, I am signing this object:

Copay

Copay is an open-source multisig wallet. Each peer is has control of her private keys, that never leave their system.

Copay is implemented in JS client-side. It can work as a:

  • web app,
  • a webview based mobile app,
  • or a node-kit based desktop app.