Skip to content

Instantly share code, notes, and snippets.

@diegovdev
diegovdev / gitflow-breakdown.md
Last active September 9, 2015 04:05 — forked from JamesMGreene/gitflow-breakdown.md
A comparison of using `git flow` commands versus raw `git` commands.

Initialize

gitflow git
git flow init git init
git commit --allow-empty -m "Initial commit"
git checkout -b develop master

Connect to the remote repository

@diegovdev
diegovdev / ripple_gateway.md
Last active August 29, 2015 14:26 — forked from owenkellogg/ripple_gateway.md
Ripple Gateway Writeup

Ripple Gateway Project

Deploy a Ripple Gateway today with the Ripple Gateway template server software. The Ripple Gateway template is designed for organizations who want to test the waters with Ripple and begin issuing currency to users of the Ripple value network.

The software includes out of the box the ability for users to register with their email to your gateway and associate their ripple identity. For the operator of your gateway, tools are provided to make setup and configuration of your gateway as seamless and minimal as possible. The goal of the gateway tool is to launch a new gateway on Ripple in less than ten minutes after the software is installed.

A Ripple Gateway processes deposits of assets to and their corresponding withdrawals from the Ripple value network. In essence they are the holders of assets and issuers of corresponding currency to Ripple users.

A Ripple Gateway holds assets on behalf of users

GENERAL REQUIREMENTS

  • sends payments to Ripple REST upon writing to a SQL table
  • verifies outbound payments using Ripple REST notifications
  • standard error messages for HTTP calls
  • ability to map one deposit to n outgoing ripple transactions
  • ability to map one incoming ripple transaction to n withdrawals
  • record external_transaction_id of deposit in n ripple transactions
  • record ripple_transaction_id of ripple_transaction in n withdrawals
  • query to return n outgoing ripple transactions given a deposit
  • query to return n withdrawals given incoming ripple transaction
@diegovdev
diegovdev / install_rippled_2.sh
Last active August 29, 2015 14:26 — forked from owenkellogg/install_rippled_2.sh
rippled install ubuntu 14.04 aws
## Ubuntu 14.04 on AWS
sudo apt-get update
sudo -y apt-get upgrade
## Git
sudo apt-get -y install git
## Scons
sudo apt-get -y install scons
@diegovdev
diegovdev / install_rippled.sh
Last active August 29, 2015 14:26 — forked from owenkellogg/install_rippled.sh
rippled installation script
sudo apt-get update
sudo -y apt-get upgrade
## Install Boost
sudo apt-get -y install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev
wget -O boost_1_55_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download
tar xzvf boost_1_55_0.tar.gz
cd boost_1_55_0/
./bootstrap.sh --prefix=/usr/local
@diegovdev
diegovdev / gateway_errors_story.md
Last active August 29, 2015 14:26 — forked from owenkellogg/gateway_errors_story.md
Gatewayd Errors Story

Gatewayd is an HTTP / JSON API server that provides functionality enabling any user of the software to operate a Ripple Gateway. The REST interface is composed of nearly forty endpoints, for which the required parameters and successful responses are documented. However there are very few if any appropriate error messages returned to the API caller when an invalid request is made, or when gatewayd experiences a software exception.

  1. Enumerate all the various errors that can be returned from the Gatewayd API.

  2. Write mocha specs for the HTTP API that test error cases and assert properly formatted errors.

  3. Implement proper error generation in the API Core layer, and propagate the errors to the HTTP API layer.

Error reporting of Gatewayd with as much robustness as provided by the tasks listed will dramatically improve the experience for engineers creating integrations with Gatewayd and plugin modules for additional Gatewayd functionality.

Gatewayd Improvement Proposal

Gatewayd is a transaction processing engine designed by engineers at Ripple Labs in order to build bridges in and out of the Ripple network.

The following is intended to be a complete proposal for version 4.0 of gatewayd, which is currently in use in several places as version 3.x. This proposal includes breaking changes but the spirit and many design features of gatewayd 3.x remain.

**** Please leave thoughts and suggestions in the comments below as we design the spec ****

@diegovdev
diegovdev / gatewayd_heroku.md
Last active August 29, 2015 14:26 — forked from owenkellogg/gatewayd_heroku.md
gatewayd on heroku

Gatewayd is designed to work with Heroku:

git clone https://github.com/ripple/gatewayd.git
cd gatewayd
heroku create my-great-gateway-app
git push heroku master
heroku addons:add heroku-postgresql
heroku config:set KEY=mysup3rs3cr3t@ap!k3y
heroku ps:scale web=1
@diegovdev
diegovdev / connecting_crypto_currencies.md
Last active August 29, 2015 14:26 — forked from owenkellogg/connecting_crypto_currencies.md
connecting crypto currencies outline.

Part 1: Bitcoin

@diegovdev
diegovdev / outbound.md
Last active August 29, 2015 14:26 — forked from owenkellogg/outbound.md
Gatewayd Protocol Outbound External

Gatewayd Protocol Outbound External

Purpose: To discover the interface for Gateway Services Protocol to be extended per a given use case

In gatewaydfile.js:

module.exports = function(gatewayd) {

  gatewayd.protocol.external.outbound.extend({