Skip to content

noahmasri/bitcoin-mock

Repository files navigation

23C1-pequenos-rustaceans

Trabajo realizado en el marco de la materia Taller de Programación 1 de la Facultad de Ingeniería de la Universidad de Buenos Aires, en un plazo de 2 meses. El proyecto fue realizado en un repositorio privado de la cátedra, por lo que no se pueden observar las contribuciones específicas de los integrantes del grupo.

Pueden revisar el enunciado en el siguiente link: Enunciado Bitcoin.

En resumidas palabras, el trabajo constaba de la realización de un nodo bitcoin, que soporte la conexión con otros nodos y el envio y respuesta de los mensajes, usando sockets TCP. Esto incluía el handshake, la descarga de los headers y de los bloques, la difusión de transacciones, entre otras. A su vez el nodo debía soportar conexiones a diferentes wallets, permitiendo a estas generar transacciones, chequear su balance; para esto creamos un protocolo de comunicación entre estas dos entidades, en lugar de utilizar el ya existente que resultaba demasiado abarcativo y complejo.

Se utilizaron los mecanismos más simples de concurrencia (variables mutex y canales) por el simple hecho de no conocer otras opciones hasta aquel entonces.

Compilacion

Para correr la wallet:

cargo run --bin wallet <path de configuracion>

Para correr el nodo:

cargo run --bin node <path de configuracion>

Pruebas

Para probar el programa, dejamos a continuacion dos billeteras que ya contienen plata cargada

privkey en wif: 92SD2oqjN8jUb33XoGmkkoGML1nRxBdcGZiXoqDL9xU1yowgHpJ address: mg5Xt8ogUKjj5oxxeDYdLvLUVSw7HNE6Cn

privkey en wif: 93JcZKAPezbqvV5Ntut5XCFZSowipPJJpWxkPnVgyaRRY1iVHjT address: n1oeWx2DbzpB46xgMgt52EuR2JpsvvDuRx

About

Proyecto de creacion de un nodo bitcoin realizado en el marco de la facultad de ingenieria

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages