Skip to content

Instantly share code, notes, and snippets.

Avatar

Diego Carvallo sapeish

View GitHub Profile
@sapeish
sapeish / gitflow-breakdown.md
Last active Sep 9, 2015 — forked from JamesMGreene/gitflow-breakdown.md
A comparison of using `git flow` commands versus raw `git` commands.
View gitflow-breakdown.md

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

@sapeish
sapeish / ripple_gateway.md
Last active Aug 29, 2015 — forked from stevenzeiler/ripple_gateway.md
Ripple Gateway Writeup
View ripple_gateway.md

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

View gatewayd_requirements.md

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
@sapeish
sapeish / install_rippled_2.sh
Last active Aug 29, 2015 — forked from stevenzeiler/install_rippled_2.sh
rippled install ubuntu 14.04 aws
View install_rippled_2.sh
## 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
@sapeish
sapeish / install_rippled.sh
Last active Aug 29, 2015 — forked from stevenzeiler/install_rippled.sh
rippled installation script
View install_rippled.sh
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
View gateway_errors_story.md

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.

View gatewayd_4.0_spec.md

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 ****

View gatewayd_heroku.md

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
@sapeish
sapeish / connecting_crypto_currencies.md
Last active Aug 29, 2015 — forked from stevenzeiler/connecting_crypto_currencies.md
connecting crypto currencies outline.
View connecting_crypto_currencies.md

Part 1: Bitcoin

@sapeish
sapeish / outbound.md
Last active Aug 29, 2015 — forked from stevenzeiler/outbound.md
Gatewayd Protocol Outbound External
View outbound.md

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({