Categories
Bitcoin

A full shell script implementation of bitcoin?

I’ve actually been thinking about a full shell implementation of bitcoin for some time.

The following content was written by grondilu on December 26, 2010, 12:38:42 PM in the thread A full shell script implementation of bitcoin ?. All content is owned by the author of the bitcointalk.org post. (original)


The thread
http://bitcointalk.org/index.php?topic=2459.0

make me feel like suggesting a full shell implementation of bitcoin.  I’ve actually been thinking about this for some time but I’d like to see if other people would be interested in such a crazy project.

Here is the kind of architecture I’d like to see :

– nodes communicate transactions via IRC, XMPP or similar (a shell script communicating with such a protocol should be easy to implement) ;
– each node publishes its blocks via its own http server (possibly via a TOR hidden service to avoid NAT traversal problems) ;
– each node also publishes the list of nodes it is currently connected to ;
– nodes store their blocks using GnuNet or maybe a NoSQL database such as MongoDB  (easily scripted) ;
– cryptographic functions are performed via the openssl command line ;
– blocks and wallets are stored in an human readable ASCII format ;

The following content was written by BioMike on December 27, 2010, 03:10:28 PM in the thread A full shell script implementation of bitcoin ?. All content is owned by the author of the bitcointalk.org post. (original)


That would be one big dependency hell…

The following content was written by MoonShadow on December 27, 2010, 03:16:58 PM in the thread A full shell script implementation of bitcoin ?. All content is owned by the author of the bitcointalk.org post. (original)


At least it would be trivial to have small CL tools to perform bitcoin operations in this system, such as tools to import and export transactions, blocks and keypairs to/from normal files.  *nix CL shells, such as Bash, are centered around the manipulation of data streams as files, and it’s an incredibly powerful model.

The following content was written by grondilu on December 27, 2010, 09:34:55 PM in the thread A full shell script implementation of bitcoin ?. All content is owned by the author of the bitcointalk.org post. (original)


At least it would be trivial to have small CL tools to perform bitcoin operations in this system, such as tools to import and export transactions, blocks and keypairs to/from normal files.  *nix CL shells, such as Bash, are centered around the manipulation of data streams as files, and it’s an incredibly powerful model.

Exactly.

I also wonder if all communications could not be done using HTTP.  Blocks would be published via http GET method (giving the hash of the preceding block), and transactions could be sent via POST method.

One advantage of using  http would be that it would be very hard for governments to forbid.

The following content was written by jgarzik on December 27, 2010, 10:35:14 PM in the thread A full shell script implementation of bitcoin ?. All content is owned by the author of the bitcointalk.org post. (original)


Shell script would be fine for a connect-work-disconnect method of working.

But it is grossly ineffective for maintaining a long-running P2P network node, where long-lasting TCP connections are preferred.

By Ali Sherief

Editor-in-chief and serial coder & blogger.