Satoshi Forum Archive
Thread #0256

minimalistic bitcoin client on D language?

bitcoinex2010-12-10T09:22:33Z

I think to start writing a minimalistic bitcoin client on D language. Do you think this makes sense?

Original message

grondilu2010-12-10T09:28:08Z

Quote from: bitcoinex on December 10, 2010, 09:22:33 AM (https://bitcointalk.org/index.php?topic=2188.msg28818#msg28818)

I think to start writing a minimalistic bitcoin client on D language. Do you think this makes sense?

The more implementations we have, the better.
Unfortunately, writting a client is no easy task. Satoshi's code is far from from trivial.

Original message

bitcoinex2010-12-10T10:27:16Z

Maybe then wait bitdns?
I'm just bored and a want to write a code

Original message

davout2010-12-10T10:37:03Z

If you're bored you should learn some Ruby it's really sweet !

Original message

Cryptoman2010-12-10T15:26:33Z

+1 on Ruby. Didn't someone recently write a Ruby interface to bitcoind?

Original message

davout2010-12-10T15:29:05Z

I wrote a bitcoin daemon wrapper in Ruby
Fully extensible since it's heavily based on method missing
EDIT : Made it for Rails so it includes a lovely initializer and a sweet yml configuration file

Original message

bitcoinex2010-12-10T17:11:11Z

I do not like ruby, python, perl or java ![Angry](https://bitcointalk.org/static/img/emoticons/angry.gif)

Original message

wumpus2010-12-10T17:13:12Z

You want to re-implement the entire client?
Why make a convenient wrapper around the JSON API? That's much easier and just as useful.

Original message

Cryptoman2010-12-10T17:27:21Z

Quote from: davout on December 10, 2010, 03:29:05 PM (https://bitcointalk.org/index.php?topic=2188.msg28886#msg28886)

I wrote a bitcoin daemon wrapper in Ruby
Fully extensible since it's heavily based on method missing
EDIT : Made it for Rails so it includes a lovely initializer and a sweet yml configuration file

I'll have to spend some time playing with it over the winter break. Any thoughts on keeping a server running bitcoind relatively secure? It seems like having a wallet.dat file on a publicly-accessible server is an accident waiting to happen.

Original message

Cryptoman2010-12-10T17:30:06Z

Quote from: bitcoinex on December 10, 2010, 05:11:11 PM (https://bitcointalk.org/index.php?topic=2188.msg28906#msg28906)

I do not like ruby, python, perl or java ![Angry](https://bitcointalk.org/static/img/emoticons/angry.gif)

Well, I don't like C or Java or anything else that uses braces. ![Tongue](https://bitcointalk.org/static/img/emoticons/tongue.gif)

Original message

davout2010-12-10T20:33:55Z

Quote from: bitcoinex on December 10, 2010, 05:11:11 PM (https://bitcointalk.org/index.php?topic=2188.msg28906#msg28906)

python

I don't like IndentationErrors

Quote from: bitcoinex on December 10, 2010, 05:11:11 PM (https://bitcointalk.org/index.php?topic=2188.msg28906#msg28906)

perl

Not gonna criticize what I don't know

Quote from: bitcoinex on December 10, 2010, 05:11:11 PM (https://bitcointalk.org/index.php?topic=2188.msg28906#msg28906)

or java ![Angry](https://bitcointalk.org/static/img/emoticons/angry.gif)

I'll leave you the bob = new InstanceLocatorFactoryProxyWrapper<GenericInstanceBuilder>();
![Smiley](https://bitcointalk.org/static/img/emoticons/smiley.gif)

Original message

bitcoinex2010-12-10T20:53:36Z

Quote from: witchspace on December 10, 2010, 05:13:12 PM (https://bitcointalk.org/index.php?topic=2188.msg28908#msg28908)

You want to re-implement the entire client?
Why make a convenient wrapper around the JSON API? That's much easier and just as useful.

It's pointless, I think. There is may be a "multidimensional" result.
Use jsawk:

Code:

$ ./bitcoin listreceivedbylabel | jsawk -n 'out(this.label+" "+this.amount+" "+this.confirmations)'
user_id:1080 106 5189
user_id:1081 0.05 5557
user_id:1083 2.89 2800
user_id:1087 500 5276
user_id:1105 0.4 462
user_id:1109 0.1 922
user_id:1110 0.04 431

Original message

davout2010-12-10T21:01:04Z

Quote from: witchspace on December 10, 2010, 05:13:12 PM (https://bitcointalk.org/index.php?topic=2188.msg28908#msg28908)

You want to re-implement the entire client?
Why make a convenient wrapper around the JSON API? That's much easier and just as useful.

It's just not as fun ! ![Cheesy](https://bitcointalk.org/static/img/emoticons/cheesy.gif)
I would love a ruby bitcoin client so much !!

Original message

farmer_boy2010-12-10T22:43:43Z

Another client is useful, especially since the current Bitcoin client is a big mess. I was *shocked* that cryptography code looked like this.

Original message

ribuck2010-12-10T23:04:41Z

Quote from: farmer_boy on December 10, 2010, 10:43:43 PM (https://bitcointalk.org/index.php?topic=2188.msg29020#msg29020)

Another client is useful, especially since the current Bitcoin client is a big mess. I was *shocked* that cryptography code looked like this.

I bet you're also shocked by what restaurant kitchens look like, and by what goes into sausages.

Original message

farmer_boy2010-12-10T23:19:10Z

Quote from: ribuck on December 10, 2010, 11:04:41 PM (https://bitcointalk.org/index.php?topic=2188.msg29025#msg29025)

Quote from: farmer_boy on December 10, 2010, 10:43:43 PM (https://bitcointalk.org/index.php?topic=2188.msg29020#msg29020)

Another client is useful, especially since the current Bitcoin client is a big mess. I was *shocked* that cryptography code looked like this.

I bet you're also shocked by what restaurant kitchens look like, and by what goes into sausages.

No, I happen to be aware of that, and that's why I usually try to eat at places with a semi-open kitchen.
The cryptography code that competent people use, doesn't look like a mess, btw. That 99% of the world uses this kind of obfuscated cryptography only shows that users don't know what they use. Have you ever looked at TrueCrypt for example? It's the exact same kind of mess.

Original message

Cdecker2010-12-11T01:19:33Z

Here we are with the Language war once again. Please just stop!
As for the topic, yes please get an alternative implementation started, the more the merrier ![Smiley](https://bitcointalk.org/static/img/emoticons/smiley.gif)
Maybe some good code actually makes it out there, helping future generations of clients to build on top of your code.
+1 on the D implementation (I'm starting a Java one in the holidays)

Original message

Hal2010-12-11T20:08:45Z

Quote from: farmer_boy on December 10, 2010, 10:43:43 PM (https://bitcointalk.org/index.php?topic=2188.msg29020#msg29020)

Another client is useful, especially since the current Bitcoin client is a big mess. I was *shocked* that cryptography code looked like this.

I'd like to hear some specific criticisms of the code. To me it looks like an impressive job, although I'd wish for more comments. Now I've mostly studied the init, main, script and a bit of net modules. This is some powerful machinery.

Original message

wumpus2010-12-11T20:11:04Z

Quote from: farmer_boy on December 10, 2010, 10:43:43 PM (https://bitcointalk.org/index.php?topic=2188.msg29020#msg29020)

Another client is useful, especially since the current Bitcoin client is a big mess. I was *shocked* that cryptography code looked like this.

Can you be more specific? What exactly makes it a 'mess'?

Original message

chaord2010-12-11T20:11:28Z

+1 on scala if you're bored ![Wink](https://bitcointalk.org/static/img/emoticons/wink.gif)

Original message

grondilu2010-12-11T21:25:51Z

Quote from: Hal on December 11, 2010, 08:08:45 PM (https://bitcointalk.org/index.php?topic=2188.msg29223#msg29223)

I'd like to hear some specific criticisms of the code. To me it looks like an impressive job, although I'd wish for more comments. Now I've mostly studied the init, main, script and a bit of net modules. This is some powerful machinery.

I agree. Actually I'm amazed this is the product of only one person's work.

Original message

ribuck2010-12-11T21:46:14Z

It's easy to complain about code. But unless a person can show that they did something better, they have no moral authority to complain.

Original message

satoshi2010-12-11T22:07:04Z

Quote from: Hal on December 11, 2010, 08:08:45 PM (https://bitcointalk.org/index.php?topic=2188.msg29223#msg29223)

I'd like to hear some specific criticisms of the code. To me it looks like an impressive job, although I'd wish for more comments. Now I've mostly studied the init, main, script and a bit of net modules. This is some powerful machinery.

That means a lot coming from you, Hal. Thanks.

Original message