Bitcoin Forum

Bitcoin => Project Development => Topic started by: tombc on April 19, 2011, 04:12:42 PM



Title: Looking for testers
Post by: tombc on April 19, 2011, 04:12:42 PM
i'm going to release (under gpl) beta version of a client in few days

windows alpha version: http://www.bitdollar.org/bitdollar.zip (http://www.bitdollar.org/bitdollar.zip)

it should be stable enought but dont put many coins on it


Title: Re: Looking for testers
Post by: tcatm on April 19, 2011, 05:09:34 PM
Does it support testnet?


Title: Re: Looking for testers
Post by: xf2_org on April 19, 2011, 05:15:37 PM

Will users trust a client from an unknown person, lacking source code?



Title: Re: Looking for testers
Post by: jimbo77 on April 19, 2011, 05:17:23 PM
What are the features?


Title: Re: Looking for testers
Post by: tombc on April 19, 2011, 05:37:49 PM
it's doesn't support testnet but could easily

source code out soon (dependencies: qt, openssl), was just throwing a fast release, it can still be tested in VM

features are mainly:
-flexible wallet management
-choosing inputs and change addresses when sending money
-a small block explorer

main window view still need some improvements

i forgot to point to not try to solve block with it, it's works but it's not optimized at all
(it is implemented for an easier custom miners integration)


Title: Re: Looking for testers
Post by: tcatm on April 19, 2011, 05:39:40 PM
well, if you want testers, add testnet support. That's what testnet is for.


Title: Re: Looking for testers
Post by: jimbo77 on April 19, 2011, 05:42:49 PM
it's doesn't support testnet but could easily

source code out soon (dependencies: qt, openssl), was just throwing a fast release, it can still be tested in VM

features are mainly:
-flexible wallet management
-choosing inputs and change addresses when sending money
-a small block explorer

main window view still need some improvements

i forgot to point to not try to solve block with it, it's works but it's not optimized at all
(it is implemented for an easier custom miners integration)


Does it support wallet encryption or just exporting/importing wallet


Title: Re: Looking for testers
Post by: tombc on April 19, 2011, 05:54:06 PM
yes, there is a "set password" button in the wallet manager

wallet file format is very different from bitcoin format, the only way to move
btc between bc wallet and bd wallet is to send money


Title: Re: Looking for testers
Post by: jimbo77 on April 19, 2011, 06:00:57 PM
Is this https://en.bitcoin.it/wiki/QBitcoin? or totally different development?


Title: Re: Looking for testers
Post by: tombc on April 19, 2011, 06:11:47 PM
no, something different, i prefered to rewrite all from scratch


Title: Re: Looking for testers
Post by: Mike Hearn on April 19, 2011, 06:59:21 PM
Wow, that's a huge amount of work. Does it have many unit tests?


Title: Re: Looking for testers
Post by: tombc on April 19, 2011, 10:25:20 PM
i have release source code, http://www.bitdollar.org/forum/viewtopic.php?f=3&t=2 (http://www.bitdollar.org/forum/viewtopic.php?f=3&t=2)


Title: Re: Looking for testers
Post by: Mike Hearn on April 20, 2011, 05:56:26 PM
Very cool indeed. Is there a todo list somewhere? I see that scripts are not handled. Are you planning a full node or a client-only node?


Title: Re: Looking for testers
Post by: tombc on April 20, 2011, 06:38:37 PM
i think script support is the only thing missing to be fully compatible with bitcoin client
i'll add it (that was my last thing "todo") but that kind of scripting is quite dangerous

i've noticed two small bugs:
-when reducing program in systray, no icon appears (./res folder is missing, i'll add ressource into the program directly)
-downloading blocks at first launch can be stopped before the last block, need to disconnect/reconnect

my goal is to manage bitcoin protocol exactly like bitcoin client


Title: Re: Looking for testers
Post by: Mike Hearn on April 20, 2011, 07:02:49 PM
I'd be really careful with that. At the very least try to avoid exposing mining support until you've really proven that you're following all the rules of the network (as laid out on the wiki and from the official code). Supporting scripts is not enough. Think about nLockTime, the SIGHASH flags and so on.

Really, a test suite proving you behave identically to the real client would be ideal. Satoshi was historically against re-implementations because the entire network has to be exactly synchronized and even very minor deviations can cause big problems. I don't think reimplementations can be avoided, but if you do it, be aware that you're signing up for a giant can of worms.

A blackbox test suite that can prove the correctness of both your code and Satoshis (and any future implementation) would be excellent.


Title: Re: Looking for testers
Post by: xf2_org on April 20, 2011, 08:42:36 PM

Seconded what [mike] says.  For example, a client must properly handle events such a transaction being confirmed, then becomes unconfirmed due to a block chain reorg, then becomes confirmed again in a different block.

This is why I advise "normal" users to avoid all clients except mainline (bitcoin/bitcoin.git) at the present time.

No alternate client gets all these details right AFAIK, and to protect your users' bitcoins, you must.



Title: Re: Looking for testers
Post by: tombc on April 21, 2011, 03:50:36 AM
rollbacks are managed

sighash is not used but it could be, i'll support it
nlocktime is ignored in bitcoin too isn't it?

i've reuploaded packages for small fixes (systray, sendmoney window size and tx are now sent correctly on the network)


Title: Re: Looking for testers
Post by: Mike Hearn on April 21, 2011, 05:18:52 AM
Yes, but the code could be reactivated at some point. Your client would then not understand blocks/txns using those features and cause chain forks.

I guess my point is not "here's some missing features". It's more, how can your code build confidence that it isn't going to cause spurious (or permanent!) chain forks if it becomes popular? BitCoin itself has no test suite which is unfortunate, but its the first implementation so its behavior essentially defines the protocol. Your code has no such advantage.


Title: Re: Looking for testers
Post by: marcus_of_augustus on April 21, 2011, 07:06:35 AM

How does it deal with deleted copies of unencrypted wallet left on the disk after an encryption? e.g. does it shred or otherwise wipe the unencrypted wallet.dat files?


Title: Re: Looking for testers
Post by: tombc on April 21, 2011, 12:58:29 PM
wallet is always wiped and always encrypted on the disk using a default pwd "" (if no pwd set)

i'll be aware of futur bitcoin changes, it can still be used safely as simple client (well except it's a beta for the moment but it's not the same problem)
i think bd is more restrictive than bc, it should not accept a tx that is rejected by bc
so i could tests it with bitcoin client and check if it is accepted


Title: Re: Looking for testers
Post by: theymos on April 21, 2011, 06:02:20 PM
wallet is always wiped and always encrypted on the disk using a default pwd "" (if no pwd set)

i'll be aware of futur bitcoin changes, it can still be used safely as simple client (well except it's a beta for the moment but it's not the same problem)
i think bd is more restrictive than bc, it should not accept a tx that is rejected by bc
so i could tests it with bitcoin client and check if it is accepted

If you ever reject a block that Bitcoin accepts, then you'll permanently end up on a different chain.


Title: Re: Looking for testers
Post by: tombc on April 21, 2011, 06:56:31 PM
minor differences would be fixed quickly, and chains automatically merged
one good point is that it could detect irregular tx that try to use an exploit in bitcoin client

but that problem is only for users that try to solve blocks, and solving blocks with bd is really not effecient
at all


Title: Re: Looking for testers
Post by: toddbethell on April 22, 2011, 11:52:36 PM
 >:(
This Bitdollar wallet never received the 5BTC sent to it from MyBitcoin.
It seemed to install ok, connect, download blocks… 24hrs later, still no coins.
Computer did a windows restart then application and wallet was gone.
Reinstalled was reinstalled but a hard drive search of the previous wallet turned up nothing.
 ???
A bigger question is: how can I get my bitcoins back if they are sent to non-existent or corrupted wallet?


Title: Re: Looking for testers
Post by: bitlotto on April 23, 2011, 12:34:23 AM
>:(
This Bitdollar wallet never received the 5BTC sent to it from MyBitcoin.
It seemed to install ok, connect, download blocks… 24hrs later, still no coins.
Computer did a windows restart then application and wallet was gone.
Reinstalled was reinstalled but a hard drive search of the previous wallet turned up nothing.
 ???
A bigger question is: how can I get my bitcoins back if they are sent to non-existent or corrupted wallet?


If the wallet is gone forever so are the coins....sorry.


Title: Re: Looking for testers
Post by: tombc on April 23, 2011, 01:43:25 AM
as said without wallet, coins are lost
if wallet file is corrupted, i can take a look into it to move the address contained into another wallet

a backup of the wallet can be done safely but new address created won't be in the backup wallet
that's why bd give the choice to the user to create a new address for the change or not, creating new
address make your transaction less traceable, but force user to rebackup his wallet

bd creates a temp backup of the wallet before updating it, if computer restart
when the program is writing into the wallet, the temp backup file should be here
the file name is something like : youwalletfilename.XXXXX.bak (where XXXX are numbers)

but if both application and wallet was gone, maybe an external program erased them

do you have the destination address that should have received the btc? i will check the transaction in the block
if you rescue your wallet but coins are not still received, i'll take a look into it


Title: Re: Looking for testers
Post by: wumpus on May 07, 2011, 09:53:48 PM
Impressive work.

BTW: Your beta version builds fine in Linux after a trivial change to bitdollar.pro.  I haven't tested it yet on the network, though.



Title: Re: Looking for testers
Post by: jrutila on May 11, 2011, 07:12:39 PM
I am also trying this on linux. Actually the trivial change to the pro file is
Code:
LIBS += -L/usr/lib/libssl.a

You should really set up a git repository for this project so that others can contribute.


Title: Re: Looking for testers
Post by: tombc on May 21, 2011, 04:16:47 PM
due to lack of interest for this implementation i haven't worked a lot on it
i have added sighash and script support, but scripts are not yet handled exactly like bitcoin does
since i used my own big integer implementation, instead of the openssl big integer (minor issue)
this is only a problem for those who would like to solve blocks, but none tried afaik

no problem noticed using b$ as simple client, except the main view which display too much informations on transactions

for the moment i'm focusing on the bitdollar protocol (very different by design), but if i feel
more interest in the bitcoin implementation, i'll rework it


Title: Re: Looking for testers
Post by: darbsllim on May 23, 2011, 09:37:09 AM
If the wallet is gone forever so are the coins....sorry.

Can the coins really be gone forever?


Title: Re: Looking for testers
Post by: marcus_of_augustus on May 23, 2011, 09:45:46 AM
If the wallet is gone forever so are the coins....sorry.

Can the coins really be gone forever?

Technically, the coins are still there in the database and if you knew the public address you could look them up on the block explorer.

But it would be like staring at the blue fairy through 9 feet of ice ... you could never spend them because the private key that is needed to transfer them is what has actually been lost, deleted or otherwise rendered inaccessible by your wallet.dat file mishap.


Title: Re: Looking for testers
Post by: darbsllim on May 25, 2011, 09:22:04 AM
So if someone with a lot of bitcoin were to delete all those accounts, could new bitcoins be created, or would there be less that many bitcoins in the system forever?


Title: Re: Looking for testers
Post by: marcus_of_augustus on May 25, 2011, 09:38:40 AM
So if someone with a lot of bitcoin were to delete all those accounts, could new bitcoins be created, or would there be less that many bitcoins in the system forever?


... the second option.

They can not really "delete those accounts" but more that they could delete the private keys that give them access to those accounts, for all intents and purposes those coins are locked out of circulation without the private keys.