Skip to content

Instantly share code, notes, and snippets.

View nullstyle's full-sized avatar
💭
There is a Downside.

Scott Fleckenstein nullstyle

💭
There is a Downside.
View GitHub Profile
package main
import (
"fmt"
"encoding/base64"
"encoding/hex"
"github.com/stellar/go/hash"
)
@nullstyle
nullstyle / words.md
Last active December 15, 2016 19:49

So, you'll have to forgive any ignorances I have of techniques in the bitcoin world that aren't represented in that article. I'd love to hear rebuttals and specific inaccuracies. I tend to focus on my own work and lightly follow the progress in the competitive landscape and it's easier for me if you just tell me directly where I'm dumb :)

I believe stellar has many advantages over bitcoin in the non-financial domains: Simplicity, composability, latency, and expressiveness. Let's take a look at each in turn.

Simplicity: I feel this is the biggest advantage stellar has. I've now been working for several years to teach other developers to integrate cryptocurrency into their own applications. It's tough for most, and that isn't even considering hacks (in my opinion) like using the method you linked to using OP_RETURN. A developer using stellar, by contrast can actually experiment with setting kv pairs onto an account without even installing any local software. Check out https://www.stellar.org/laborator

@nullstyle
nullstyle / atom_clojure_setup.md
Created December 5, 2016 05:21 — forked from jasongilman/atom_clojure_setup.md
This describes how I setup Atom for Clojure Development.

Atom Clojure Setup

This describes how I setup Atom for an ideal Clojure development workflow. This fixes indentation on newlines, handles parentheses, etc. The keybinding settings for enter (in keymap.cson) are important to get proper newlines with indentation at the right level. There are other helpers in init.coffee and keymap.cson that are useful for cutting, copying, pasting, deleting, and indenting Lisp expressions.

Install Atom

Download Atom

The Atom documentation is excellent. It's highly worth reading the flight manual.

@nullstyle
nullstyle / Dockerfile
Created November 17, 2016 17:28 — forked from alexellis/Dockerfile
ZCash Dockerfile - installs and builds ZCash tool and pulls proving cert.
FROM ubuntu:latest
RUN apt-get update -q && apt-get -qy install \
build-essential pkg-config libc6-dev m4 g++-multilib \
autoconf libtool ncurses-dev unzip git python \
zlib1g-dev wget bsdmainutils automake
WORKDIR /root/
RUN git clone https://github.com/zcash/zcash.git
WORKDIR /root/zcash/
@nullstyle
nullstyle / wrap.go
Created September 29, 2016 20:02
rewrap sample file
package main
const (
// PayoutStatusStarted represents the value of a
// payout row's `status` column. It represents a
// payout that has been validated and started but has
// not yet been completed.
PayoutStatusStarted = "started"
PayoutStatusSuccess = "success"
Thu Apr 7 07:30:20 UTC 2016
➜ cockroach-beta-20160330.darwin-10.9-amd64 ./cockroach start --insecure
build: beta-20160330 @ 2016/03/30 14:58:36 (go1.6)
admin: http://scott-2.local:8080
sql: postgresql://root@scott-2.local:26257?sslmode=disable
logs: cockroach-data/logs
store[0]: path=cockroach-data
panic: Non-nullable column with no value!
goroutine 136 [running]:
panic(0x4e7c220, 0xc820d79680)
CREATE DATABASE test;
SET DATABASE = test;
CREATE TABLE test (v DECIMAL);
INSERT INTO test VALUES (DECIMAL '1.0');
ALTER TABLE test ADD COLUMN v2 DECIMAL NOT NULL;
SELECT * FROM test;
var S = require('stellar-sdk');
var kp = S.Keypair.random();
var account = new S.Account(kp.accountId(), "1");
var transaction = new S.TransactionBuilder(account).addOperation(S.Operation.createAccount({
destination: kp.accountId(),
startingBalance: "100.00",
})).build();
transaction.sign(kp);
console.log(transaction.toEnvelope().toXDR('base64'));
/ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ
/ip4/104.236.151.122/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
/ip4/104.236.176.52/tcp/4001/ipfs/QmSoLnSGccFuZQJzRadHn95W2CrSFmZuTdDWP8HXaHca9z
/ip4/104.236.179.241/tcp/4001/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM
/ip4/104.236.76.40/tcp/4001/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64
/ip4/128.199.219.111/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu
/ip4/162.243.248.213/tcp/4001/ipfs/QmSoLueR4xBeUbY9WZ9xGUUxunbKWcrNFTDAadQJmocnWm
/ip4/178.62.158.247/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd
/ip4/178.62.61.185/tcp/4001/ipfs/QmSoLMeWqB7YGVLJN3pNLQpmmEk35v6wYtsMGLzSr5QBU3