Añadida la fúncion “gettxout” al API Bitcoin-Python

Viernes, 10 de abril de 2015 Sin comentarios

La semana del 9-15 de septiembre, se añadió la función “gettxout” del Cliente original de Bitcoin al API de Python (Bitcoin-Python) que se está usando para el proyecto Shoali y es necesario para su desarrollo.

La nueva implementación del código ha sido ya aceptado por el coordinador del proyecto Wladimir J. van der Laan, con lo que si se quieren ver los cambios con más detalle podemos acceder al commit (a79bfdc6772b610aa234625fbbe1faea340818b7).

Para que el nuevo código fuera aceptado en la rama principal del proyecto se hizo un “pull request” a través de Github.

Escribiendo la tesis

Miércoles, 25 de marzo de 2015 Sin comentarios

A partir de esta semana (15 al 20 de abril) me limité a escribir la tesis, dejando el blog un poco de lado, haciendo simplemente algún borrador.

La tesis la esquematicé de la siguiente manera: (5 puntos)

  1. Introducción (respuesta a las 5W).
    • What?, qué es Shoali.
    • Who?, quién lo hace (desarrolladores), quién lo usa (prestamista, prestatario, administrador, …).
    • How?, cómo se hace (el marco del software libre, tecnologías, …).
    • When?, cuándo se hace (historia de los prestamos, contextualización socio-económica actual, la era digital, …).
    • Where?, dónde se hace (mundo virtual, redes sociales, distribuido, descentralizado, …).
    • Why?, porque se hace (motivaciones por las que se hace el proyecto).
  2. Objetivos.
    • Generales (¿Qué deseo de este proyecto?).
    • Específicos.
  3. Diseño e implementación.
    • Entorno de desarrollo.
    • Diseño de diagramas de la aplicación.
    • Desarrollo de la aplicación.
    • Diseño web.
    • Documentación.
    • Seguridad.
  4. Resultados y pruebas.
  5. Conclusiones y trabajos futuros.
    • Conclusiones a los objetivos.
    • Futuros trabajos (traducciones, aplicación móvil, distintas investigaciones, …).

Para ver el esquema más detallado pinché aquí.

Las evoluciones de la tesis se pueden consultar en: https://gitorious.org/master_mswl/master_thesis, es el repositorio donde se encuentra alojada la tesis.

El documento lo voy a escribir en  LaTeX, siguiendo una plantilla que me prestó Laura Arjona (wordpress, identi.ca, quitter) de su propia tesis, :). Uno de los principales motivos por lo que lo hago en este formato, es porque gracias a que Laura me prestó su plantilla, se que del diseño no me tengo que preocupar, ya que al final va a quedar muy chula. Me quité todo ese rollo del diseño que siempre se me da tan mal y me hace perder tanto tiempo. Solo tengo que preocuparme del contenido, no del continente. Además, otro beneficio, es que el seguimiento en el repositorio se me hace mucho más sencillo.

Mi intención es licenciarla bajo una licencia Creative Commons (Reconocimiento-SinObraDerivada) , aunque no se si será posible. Al ser un documento compartido con la Universidad, siempre es mucho más complicado este tipo de cosas. Esperemos que haya suerte.

Sin más dilación me puse a escribir la Introducción.

Enfilar la Tesis de Máster

Miércoles, 4 de marzo de 2015 Sin comentarios

Semana del 8 al 12 de abril. Esa semana sabiendo lo poco que me quedaba para comenzar la defensa de la tesis del Máster, me puse a revisar un poco todo. A ver las cosas que me faltaban y las que tenía. A reunir toda la información y ordenarla un poco. Me di cuenta que mi idea de presentar el proyecto finalizado, era inviable, ya me faltaba muchísimo código por tirar, y además todo el tema del diseño y los wireframes de la aplicación, que nos prometió Gruncho :P, estaban todavía sin hacer. Muy a mi pesar, vi que sería imposible presentar la tesis con el proyecto así. En aquel momento, decidí dejar de tocar código y ponerme a escribir la tesis de Máster como un loco, aunque lo más seguro es que no me diera tiempo. Pensé que para presentar la tesis no es necesario que el proyecto esté terminado. Lo importante es que haya un documento bien redactado que lo englobe todo. La idea del proyecto ahora mismo estaba contenida, más o menos, en el blog, y solo faltaba desarrollarla. Me convencí de que ya tendré tiempo de desarrollar el proyecto más adelante, dejando de lado también el CUSL de 2014.

En la siguiente entrada explicaré el contenido de la tesis y donde se encuentra su repositorio para consultarlo. Con eso terminaría y podría presentar la tesis, aunque el proyecto continué.

Mongo DB & Celery

Miércoles, 25 de febrero de 2015 Sin comentarios

Semana del 1 al 6 de abril, estuve trasteando con MongoDB. Como dije la semana pasada, un nodo Bitcoin no almacena información ajena a él, ya que para su correcto funcionamiento no es necesaria almacenarla. El problema es que para Shoali si que es necesario almacenarla, por ejemplo para obtener el balance de una dirección Bitcoin. Este pequeño imprevisto, tiene varias soluciones.

  • Hacer las consultas a distintos sitios web (blockchain.info, blockexplorer.com, btcbalance.net, y checkmybitcoins.com) para obtener la información. Con el consecuente peligro de depender de su servicio. Aunque aporta varias ventajas, la sencillez y la despreocupación del mantenimiento.
  • Y la otra es,  que sea la aplicación quién almacene toda la información. Shoali como quiere ser un servicio independiente, no puede tomar la primera alternativa, y debe de almacenar todo el histórico de bloques generados en la red Bitcoin.

Continue reading “Mongo DB & Celery” »

Consultas con bitcoinrpc-python

Miércoles, 18 de febrero de 2015 Sin comentarios

La semana del 25 al 30 de marzo estudié algunos APIS de Python para hacer consultas HTTP JSON-RPC a un nodo bitcoin (python-bitcoinrpc y bitcoin-python).

La peticiones, a un nodo Bitcoin, se pueden hacer por línea de comandos, o vía HTTP gracias JSON-RPC. Existen varios APIS ya implementadas en varios lenguajes de programación (Python, Ruby, Java, Perl, PHP, y C#) para ahorrarnos trabajo.

Continue reading “Consultas con bitcoinrpc-python” »

Cosas que hay que saber sobre una transacción Bitcoin

Viernes, 6 de febrero de 2015 Sin comentarios

La semana del 18 al 23 de marzo, me puse a estudiar la información que se puede extraer de una transacción Bitcoin. Creo que este estudio previo nos pone en contacto con la red Bitcoin y en situación sobre las posibilidades que nos da.
Continue reading “Cosas que hay que saber sobre una transacción Bitcoin” »

Categories: Shoali, Software Libre Tags: ,

Software Libre para emprendedores

Viernes, 18 de julio de 2014 Sin comentarios

El Software Libre como negocio en la empresa es una realidad (modelos de negocio de Carlo Daffara), ya desde hace algún tiempo, no hace falta que nos preguntemos si es viable o no.
En mi opinión si tuviera que montar una empresa en torno al software, no dudaría en usar un modelo de negocio basado en Software Libre. Creo que es la opción más inteligente. Digo esto, por varias razones. La más importante, es que el Software Libre es éticamente correcto, no coarta las libertades de nadie, y en los tiempos que corren es un valor añadido. Aparte da muchas otras ventajas, que comento a continuación.

Continue reading “Software Libre para emprendedores” »

Markdown & IRC (Freenode, #shoali)

Viernes, 25 de abril de 2014 Sin comentarios

La semana del 11 al 16 de marzo, me propuse crear un sistema de  comunicación en tiempo real para la comunidad, el típico canal de IRC, es muy importante poder ofrecer a la comunidad un canal en donde comunicarse de manera instantánea además de la listas de correo, en el siguiente apartado se explica el buen uso un canal IRC dentro de una comunidad de software libre. Además me propuse pasar los ficheros README, TODO, INSTALL, AUTHORS y COPYING a Markdown

Continue reading “Markdown & IRC (Freenode, #shoali)” »

Listado y relación de las secciones en la aplicación

Domingo, 20 de abril de 2014 Sin comentarios

En la semana del 4 al 9 de marzo, me hice un listado de las páginas de la aplicación y de las relaciones que existen entre ellas. Esta vez, además de los diagramas habituales, he decidido hacerme un esquema del flujo que existe entre todas las vistas de la aplicación. Teniendo en cuenta que Django se basa en el patrón de desarrollo MTV (Modelo-Plantilla-Vista), similar al patrón MVC (Modelo-Vista-Controlador), como ya explicamos en la entrada: Primer formulario con Django, pensé que me podría resultar bastante útil esta relación.

Continue reading “Listado y relación de las secciones en la aplicación” »

Funcionalidad de Shoali

Viernes, 18 de abril de 2014 Sin comentarios

La semana del 25 de febrero al 2 de marzo, tuve que dedicarla a dos tareas. La primera, preparar la presentación de la cámara Elphel para el festival de cine libre Carabanleft, y la otra fue recrear la funcionalidad de Shoali.

Para simular el flujo de la aplicación, hice dos cosas. El diagrama de actividades, y un diagrama de páginas o plantillas, llamado wireframe. Representa las transiciones necesarias entre las plantillas para completar las distintas tareas.

Continue reading “Funcionalidad de Shoali” »

Stop censorship