Introducción

El Protocolo de Maker incientiva a los agentes externos, llamados keepers, a automatizar ciertas operaciones alrededor de la blockchain de Ethereum. Para facilitar su desarrollo, se ha creado una API en torno a la mayoría de los contratos de Maker. Puede ser utilizado no solo por los keepers, sino también por los autores de otras utilidades no relacionadas que buscan interactuar con estos contratos.

Se está desarrollando un conjunto de keepers de Maker de referencia basado en la API de Pymaker. Todos ellos solían residir en este repositorio, pero ahora cada uno de ellos tiene uno individual: bite-keeper (keeper de "mordida") (solo para SCD), arbitrage-keeper (keeper de arbitraje), auction-keeper (keeper de subastas) (solo para MCD), cdp-keeper (keeper de cdp/vault) (solo para SCD), market-maker-keeper (keeper del mercado de Maker).

Solo necesitas instalar directamente este proyecto si quieres construir tus propios keepers, o si quieres jugar con la API de esta librería. Si solo quieres instalar uno de los keepers de referencia, ve a uno de los links del repositorio (que se encuentran arriba) y comienza por ahí. Cada uno de estos keepers hace referencia a alguna versión de pymaker a través de un submódulo de Git.

Instalación

Este proyecto utiliza Python 3.6.6.

Para clonar este proyecto e instalar los paquetes de terceras partes, ejecuta:

git clone <https://github.com/makerdao/pymaker.git>
cd pymaker
pip3 install -r requirements.txt

Problemas Conocidos de Ubuntu

Para que la dependencia secp256k de Python compile correctamente, los siguientes paquetes deben ser instalados:

sudo apt-get install build-essential automake libtool pkg-config libffi-dev python-dev python-pip libsecp256k1-dev

(para el Server 18.04 de Ubuntu)

Problemas Conocidos de macOS

Para que los requerimientos de Python se instalen correctamente en macOS, instala openssl, libtool, pkg-config y automake utilizando Homebrew:

brew install openssl libtool pkg-config automake

y establece la variable del ambiente LDFLAGS antes de correr pip3 install -r requirements.txt:

export LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include"

APIs Disponibles

La versión actual provee APIs en torno de: