Bitcoin Forum
April 20, 2024, 01:40:47 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: [ANN][YAC] Coin Control for YaCoin is here! First altcoin with Coin Control!  (Read 5671 times)
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 18, 2013, 09:36:11 AM
Last edit: December 09, 2013, 01:39:11 AM by sairon
 #1

================================
EDIT: NEW UPDATE 2013-12-09:
New windows binaries released, updating requires user intervention!


You NEED to move/rename (backup) everything except wallet.dat and peers.dat in the yacoin data directory and then run yacoin with -loadblock=C:\blk0001.dat (assuming you put the blk0001.dat file in C:\). This is needed because we had to change the way blocks are indexed and now the wallet starts in LESS THAN 30 SECONDS (down from more than 30 minutes). However, this initial load will take somewhere around 2 hours (still faster than downloading it through the p2p network).

If you don't mind redownloading all the blocks, you can just remove the unneeded files and start yacoin normally (less hassle, but takes more time).

Most of the time at startup is now spend verifying the last couple of blocks (which needs to to recompute their hashes to ensure integrity). I've lowered this number from the default 2500 to 666 (rather arbitrarily chosen, but should absolutely be set higher than 520).
================================


Announcing YaCoin-Qt client with Coin Control features!

YaCoin - The FIRST AltCoin with Coin Control!

Do you wanna:
  • send specific Unspent Outputs but the Qt client keeps choosing them randomly?
  • have control over your Anonymity? (Well, pseudonymity, to be precise.)
  • have control over your Coin Age?
  • maximize your Proof of Stake rewards?
  • choose the Change Address yourself?
  • know the Transaction Fees associated with your transaction before attempting to send it?
  • see the Transaction Priority of your transaction?

Then Coin Control is just the thing for you!

NOTE: Enable in Settings -> Options -> Display, check "Display coin control features (experts only!)". Aaaand it's done. Enjoy. Wink


Disclaimer: Don't download anything if you don't trust me. Do your homework. Review the github repo code commits. Compile it yourself.

Compiling for Linux:
Code:
git clone https://github.com/saironiq/yacoin-cc.git
cd yacoin-cc/src
make -f makefile.unix
cd ..
qmake
make

Compiling for Windoze:
https://bitcointalk.org/index.php?topic=149479.0
(with some minor variations)

Donations welcome! Wink

Some screenshot pr0n:




GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
1713577247
Hero Member
*
Offline Offline

Posts: 1713577247

View Profile Personal Message (Offline)

Ignore
1713577247
Reply with quote  #2

1713577247
Report to moderator
The forum strives to allow free discussion of any ideas. All policies are built around this principle. This doesn't mean you can post garbage, though: posts should actually contain ideas, and these ideas should be argued reasonably.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713577247
Hero Member
*
Offline Offline

Posts: 1713577247

View Profile Personal Message (Offline)

Ignore
1713577247
Reply with quote  #2

1713577247
Report to moderator
1713577247
Hero Member
*
Offline Offline

Posts: 1713577247

View Profile Personal Message (Offline)

Ignore
1713577247
Reply with quote  #2

1713577247
Report to moderator
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 18, 2013, 01:27:54 PM
 #2

Is someone using this? Need some testers, c'mon!
Lemme know if you need UPnP support compiled into the client, didn't do it 'cause it was a major hassle already under Windoze.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 18, 2013, 03:53:56 PM
 #3

@ sairon and shakezula

Does your builds include latest checkpoints, e.g. latest WindMaster's code? Also, it seems sairon Win version is 64 bit but shakezula uPnP version is
Win 32 bit, could we have uPnP enabled Win 64 bit version as well? I'm personaly using 32 bit version but community might be more into 64 version.

I cloned the latest revision of WindMaster's git repo, so it's up-to-date. Will build x64 with UPnP and QR in a while.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
WindMaster
Sr. Member
****
Offline Offline

Activity: 347
Merit: 250


View Profile
August 18, 2013, 06:04:20 PM
 #4

I cloned the latest revision of WindMaster's git repo, so it's up-to-date. Will build x64 with UPnP and QR in a while.

Add in the checkpoint at 165,000 (I pushed it to my GitHub repo yesterday) sometime when you're already in there editing:

( 165000, uint256("0x00000001e790d65de9541af419465338220de69e3ffcbda427af2fc94741d321"))

After more testing has happened, I'd welcome a pull request of your coin control changes back to my repo.  Good work on implementing this!
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 18, 2013, 07:01:48 PM
 #5

I cloned the latest revision of WindMaster's git repo, so it's up-to-date. Will build x64 with UPnP and QR in a while.

Add in the checkpoint at 165,000 (I pushed it to my GitHub repo yesterday) sometime when you're already in there editing:

( 165000, uint256("0x00000001e790d65de9541af419465338220de69e3ffcbda427af2fc94741d321"))

After more testing has happened, I'd welcome a pull request of your coin control changes back to my repo.  Good work on implementing this!

Fetched and cherry-picked.

@ sairon and shakezula

Does your builds include latest checkpoints, e.g. latest WindMaster's code? Also, it seems sairon Win version is 64 bit but shakezula uPnP version is
Win 32 bit, could we have uPnP enabled Win 64 bit version as well? I'm personaly using 32 bit version but community might be more into 64 version.

So apparently my build is also 32-bit. -.-"
I hate Windows so much...
Will try building a proper 64-bit version with both UPnP and QR support soonTM.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 19, 2013, 02:58:03 PM
 #6

If I select all my unspent inputs transaction size would be ~11474 bytes. Tooltip says that with transaction sizes over 10000 bytes tx fee will
be at least 0.01 YAC per kB but fee shown on CC window is 0.01 YAC at all times, no matter if I select just one unspent input or all of them. By
default, no fee is added to transactions (Settings > Options > tab Main). All unspent inputs are 440 YAC at least and have high priority. Since
I'm still waiting for PoS to generate, I can't tell what final tx fee I'm supposed to pay, e.g. if tx fee for sending all inputs would be 0.11+ YACs.

Transaction fee shown at CC window is indeed stucked at 0.01 YAC, e.g. it is not calculated properly. I just picked large number of inputs, sent
coins and actual fee was 0.05 YAC but CC window reported just 0.01 YAC.

Normal CC operations (selecting inputs, receive and change addresses and so on) seem to be working fine. All coins "landed" where they should.

Thanks for the feedback! I'll look into the fee issue.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
Thirtybird
Hero Member
*****
Offline Offline

Activity: 693
Merit: 500



View Profile
August 20, 2013, 06:40:24 PM
 #7

Are you surprised that I was forced to download the blockchain again on Windows, or was this somewhat expected?  Launching it gave an error when trying to read the database and told me to back up the wallet directory, then removed everything except wallet.dat.  That did work, but it's got to redownload the whole blockchain again (ugh).

YACMiner: https://github.com/Thirtybird/YACMiner  N-Factor information : https://docs.google.com/spreadsheet/ccc?key=0Aj3vcsuY-JFNdC1ITWJrSG9VeWp6QXppbVgxcm0tbGc&usp=drive_web#gid=0
BTC: 183eSsaxG9y6m2ZhrDhHueoKnZWmbm6jfC  YAC: Y4FKiwKKYGQzcqn3M3u6mJoded6ri1UWHa
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 21, 2013, 01:05:58 PM
 #8

If I select all my unspent inputs transaction size would be ~11474 bytes. Tooltip says that with transaction sizes over 10000 bytes tx fee will
be at least 0.01 YAC per kB but fee shown on CC window is 0.01 YAC at all times, no matter if I select just one unspent input or all of them. By
default, no fee is added to transactions (Settings > Options > tab Main). All unspent inputs are 440 YAC at least and have high priority. Since
I'm still waiting for PoS to generate, I can't tell what final tx fee I'm supposed to pay, e.g. if tx fee for sending all inputs would be 0.11+ YACs.

Transaction fee shown at CC window is indeed stucked at 0.01 YAC, e.g. it is not calculated properly. I just picked large number of inputs, sent
coins and actual fee was 0.05 YAC but CC window reported just 0.01 YAC.

Normal CC operations (selecting inputs, receive and change addresses and so on) seem to be working fine. All coins "landed" where they should.

Thanks for the feedback! I'll look into the fee issue.

Fixed in commit https://github.com/saironiq/yacoin-cc/commit/9635b01471dfe71774967e4073900d73665687f8.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 21, 2013, 01:47:06 PM
 #9

IMPORTANT!
Stop using the published versions of Yacoin with Coin Control - there's a critical bug when NOT selecting a custom change address (the new change address is not reserved from keypool and thus your coins disappear forever). Fixed in recent git commit, updated binaries coming soon.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
Thirtybird
Hero Member
*****
Offline Offline

Activity: 693
Merit: 500



View Profile
August 21, 2013, 03:11:04 PM
 #10

IMPORTANT!
Stop using the published versions of Yacoin with Coin Control - there's a critical bug when NOT selecting a custom change address (the new change address is not reserved from keypool and thus your coins disappear forever). Fixed in recent git commit, updated binaries coming soon.

If I just don't send anything, or set the change address though, I'll be fine until the binaries are updated, correct? 

YACMiner: https://github.com/Thirtybird/YACMiner  N-Factor information : https://docs.google.com/spreadsheet/ccc?key=0Aj3vcsuY-JFNdC1ITWJrSG9VeWp6QXppbVgxcm0tbGc&usp=drive_web#gid=0
BTC: 183eSsaxG9y6m2ZhrDhHueoKnZWmbm6jfC  YAC: Y4FKiwKKYGQzcqn3M3u6mJoded6ri1UWHa
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 21, 2013, 03:53:47 PM
 #11

IMPORTANT!
Stop using the published versions of Yacoin with Coin Control - there's a critical bug when NOT selecting a custom change address (the new change address is not reserved from keypool and thus your coins disappear forever). Fixed in recent git commit, updated binaries coming soon.

If I just don't send anything, or set the change address though, I'll be fine until the binaries are updated, correct? 

That's right.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 21, 2013, 03:56:08 PM
 #12

Because of 520 confirmations required to start spending PoS coins and CC ability to pick any input, YACoin CC runs into weird situation if user
attempts to spend those coins earlier. Here is what happens:

1. PoS block is generated.
2. Just few confirmations later user attempts to spend PoS coins by selecting them with CC.
3. Upon sending, YACoin will complain about attempting to send already used coins (message should add unconfirmed PoS as possible cause).
4. Transaction will be rejected but still shown on Transactions tab, with 0 confirmations.
5. Once PoS block is confirmed, transaction will be broadcasted to network. This step might require wallet restart, not sure about it since I had
to close my wallet before 520 confirmations and ran it much later, when PoS block was confirmed like 700+ times.

Fixed this by graying-out (checkbox can't be ticked) and setting a red background of immature PoS coins in the Coin Control view.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 21, 2013, 09:45:15 PM
 #13

Fixed windows binary up, link in the OP.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 23, 2013, 02:08:38 PM
 #14

Fixed windows binary up, link in the OP.

1. Wallet frozen after first attempt to send without specifying change address, on WinXP SP3 32 bit. No crash-specific info in debug.log file.

2. After wallet restart and subsequent send, coins were sent but something went wrong with display. In tree view, newly created change
address is shown as child of coins originating address:



http://yacexplorer.tk/tx/a0fdd1fba2b4f7283971c0794853a178b9c870d2435a158257c6192c2b64ea01

Wallet restart did not fix the issue. Sending some coins from change address elsewhere did not fix the issue neither. Sending all coins from
change address elsewhere removed change address from CC list and afterwards all worked fine, e.g. sending some coins back to change
address does not puts it under "Temp 1" anymore. Not sure if 1. and 2. are related since I can't reproduce wallet freezing but case 2. is
reproducable, e.g. it happens on every new change address creation.

3. With all coins on "Temp 1", sending some coins to "Temp 2" and not specifying change address creates new change address but puts it
as child of "Temp 1" again:



Both "Temp 1" and "Temp 2" are addresses I created much earlier and already used.

1. Good it's non-reproducible. Smiley
2. That's working as intended.
3. Also working as intended.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
Thirtybird
Hero Member
*****
Offline Offline

Activity: 693
Merit: 500



View Profile
August 23, 2013, 02:32:53 PM
 #15

What's the thought behind making it a child of another address?  I'm not trying to max my experience like Mr. Store, but if it's not obvious that that's how it is supposed to work, there will be questions.

For my purposes, so far it's working just fine.  I make sure I only spend new coins and when a change address goes over 10 coins, I make a new one and don't spend those coins...

YACMiner: https://github.com/Thirtybird/YACMiner  N-Factor information : https://docs.google.com/spreadsheet/ccc?key=0Aj3vcsuY-JFNdC1ITWJrSG9VeWp6QXppbVgxcm0tbGc&usp=drive_web#gid=0
BTC: 183eSsaxG9y6m2ZhrDhHueoKnZWmbm6jfC  YAC: Y4FKiwKKYGQzcqn3M3u6mJoded6ri1UWHa
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 23, 2013, 02:47:13 PM
 #16

What's the thought behind making it a child of another address?  I'm not trying to max my experience like Mr. Store, but if it's not obvious that that's how it is supposed to work, there will be questions.

For my purposes, so far it's working just fine.  I make sure I only spend new coins and when a change address goes over 10 coins, I make a new one and don't spend those coins...

Well, the original thought was that the change returns to the address the payment came from. However, this raised some anonymity concerns ('cause everyone knew exactly which output went out of your wallet and which one was change returned to you). So this was implemented like this: the outputs are in random order and a new change address is created each time your inputs are bigger than amount paid + fees. This maximizes anonymity (no one knows for sure which output was a payment for some shady goods or whatever, so no one can guess what you paid for). So instead of returning to the sending address, you create a change address as a child of sending address and they're effectively tied together as far as the blockchain goes (this is called taint). So after this transaction, 3 addresses are tainted - two of which are yours. Also, the original client won't show you change addresses (AFAIK) and adds change address balances to the sending address' balance.

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
St.Bit
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250


View Profile
August 23, 2013, 03:41:14 PM
Last edit: August 23, 2013, 08:14:20 PM by St.Bit
 #17

I found another issue:

I was sending some Spare change arround* and somehow the balance of an adress was bigger than on yacexplorer.tk. So I tried to send these bonuscoins to another adress and to my surprise it got accepted by the network. Just bevor I wanted to abuse this with a bigg... ehm honestly report the bug I noticed that I had the privatkeys to the donator adress although it wasn't listed.

In short:
The CC should also list hidden adresses since it uses them sometimes or better there shouldn't be any hidden adresses in the client at all.

Code:
http://yacexplorer.tk/tx/f29e758b955348cf0ef1c4524e15d8e20719cc5c2d3f744c4da9f8b3b598e10b#i0
http://yacexplorer.tk/tx/e89e336e92da2c1caca900d6d868fd498e289c64e425ef744b570fbf28878399#i0
You might be familiar with one of the adresses in the first transaction

EDIT: I knew about change adresses but thought I had used a different adress to fund it.

Sign a message and get some YAC: https://bitcointalk.org/index.php?topic=300152.0
BChydro
Hero Member
*****
Offline Offline

Activity: 1426
Merit: 506


View Profile
August 23, 2013, 04:24:40 PM
 #18

Wow, this is exactly what I wanted! I'm trying as soon as I'm home
sairon (OP)
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250


One does not simply mine Bitcoins


View Profile
August 23, 2013, 06:41:42 PM
 #19

I found another issue:

I was sending some Spare change arround* and somehow the balance of an adress was bigger than on yacexplorer.tk. So I tried to send these bonuscoins to another adress and to my surprise it got accepted by the network. Just bevor I wanted to abuse this with a bigg... ehm honestly report the bug I noticed that I had the privatkeys to the donator adress although it wasn't listed.

In short:
The CC should also list hidden adresses since it uses them sometimes or better there shouldn't be any hidden adresses in the client at all.

Code:
http://yacexplorer.tk/tx/f29e758b955348cf0ef1c4524e15d8e20719cc5c2d3f744c4da9f8b3b598e10b#i0
http://yacexplorer.tk/tx/e89e336e92da2c1caca900d6d868fd498e289c64e425ef744b570fbf28878399#i0
You might be familiar with one of the adresses in the first transaction

Y9fu3iEgLsEbf8mXK6Yn4ERzc2qFny53Hm was just one of your change addresses, you can see the TX that sent those 3.99 YAC as change here: http://yacexplorer.tk/tx/1d741a0eea03a5702e55a76f298c452a2191db36865f5a58fe6e31772cc70c2a. Those change addresses are also hidden in vanilla yacoin-qt, so it's working as intended. Thanks for the 1 YAC, btw. Cheesy

If you wanna see these change addresses, just switch to the same view as Megastore used in his post: https://bitcointalk.org/index.php?topic=276948.msg2986951#msg2986951

GPG key ID: 5E4F108A || BTC: 1hoardyponb9AMWhyA28DZb5n5g2bRY8v
St.Bit
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250


View Profile
August 23, 2013, 08:12:45 PM
 #20

Those change addresses are also hidden in vanilla yacoin-qt, so it's working as intended.
That's kinda like CC light ...

This might be acceptable (I don't like it) on vanilla, but not on "Expert" Mode. Once people see this they will check their balances on yacexplorer and freak out. This is so damm non intuitive and has to change!
I'd rather have no CC than hundred stupid threats about it.

Sign a message and get some YAC: https://bitcointalk.org/index.php?topic=300152.0
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!