Bitcoin Forum

Bitcoin => Armory => Topic started by: papamoi on March 04, 2014, 04:06:50 PM



Title: transaction fees are mandatory?
Post by: papamoi on March 04, 2014, 04:06:50 PM
hi

i m testing the wallet and i see that it doesn t want to take any sending order if we don t accept fees

while my original btc wallet (-qt) is not asking for this

how to remove this?


thanks


Title: Re: transaction fees are mandatory?
Post by: roslinpl on March 04, 2014, 04:46:15 PM
This is the way that some wallets works.
Perhaps you should consider to put minimum fee in a btc transactions :-)

It would be nice.


Title: Re: transaction fees are mandatory?
Post by: Automatic on March 04, 2014, 05:44:21 PM
Bitcoin-QT also mandates fees, if I'm honest, this is one thing I dislike about Armory. I'm not an idiot, if I want to send a transaction in expert mode with no fee, then, I bloody well want to do it. I understand normal mode, but, pfft.


Title: Re: transaction fees are mandatory?
Post by: picobit on March 04, 2014, 07:58:43 PM
Armory refuses to make a transaction that bitcoind or bitcoin-qt would refuse to propagate.


Title: Re: transaction fees are mandatory?
Post by: Automatic on March 04, 2014, 08:12:43 PM
Armory refuses to make a transaction that bitcoind or bitcoin-qt would refuse to propagate.

I send free transactions below the "rules" all the time on bitcoin-qt (Using createrawtransaction). They get confirmed after about a week or so, good enough for me.


Title: Re: transaction fees are mandatory?
Post by: picobit on March 05, 2014, 03:26:38 PM
Armory refuses to make a transaction that bitcoind or bitcoin-qt would refuse to propagate.

I send free transactions below the "rules" all the time on bitcoin-qt (Using createrawtransaction). They get confirmed after about a week or so, good enough for me.

There are two rules.  The one for what it takes for a transaction to be build into a block, and one for what it takes for a transaction to be propagated.  If you run afoul of the first rule, your transaction is likely to sit in the network for a while, but eventually it will confirm.  If you run afoul of the second rule, the transaction will never even be accepted by the network and will *never* confirm.



Title: Re: transaction fees are mandatory?
Post by: etotheipi on March 09, 2014, 03:05:37 PM
Armory refuses to make a transaction that bitcoind or bitcoin-qt would refuse to propagate.

I send free transactions below the "rules" all the time on bitcoin-qt (Using createrawtransaction). They get confirmed after about a week or so, good enough for me.

Just to reiterate picobit's point:  Armory's hands are tied on this one.  You can use a modified version of Bitcoin-Qt to broadcast a tx to dozens of peers with sub-standard fee, and you are pretty comfortable that at least a couple of peers will accept and propagate.  If you don't mind waiting, that's okay.

The problem here is that Armory doesn't have dozens of peers.  It is connected to the network through exactly one peer: your own Bitcoin-Qt/bitcoind -- and one that is usually following the rules.  When I first created Armory, I tried putting in a min-fee-override, but quickly found out it's pointless.  The tx has to go through that bitcoind, and it will be DOA if it doesn't have enough fee for relay.  100% failure rate, guaranteed.  So I had to disable it, because it was pointless, since 99%+ users don't have a setup capable of doing it.

Technically it can be done if you run a modified version of Bitcoin-Qt or bitcoind that will forward it in addition to modifying Armory to do it, which should be pretty easy.  It's just that few people will actually do this so it's disabled.


Title: Re: transaction fees are mandatory?
Post by: Automatic on March 09, 2014, 03:41:59 PM
Armory refuses to make a transaction that bitcoind or bitcoin-qt would refuse to propagate.

I send free transactions below the "rules" all the time on bitcoin-qt (Using createrawtransaction). They get confirmed after about a week or so, good enough for me.

Just to reiterate picobit's point:  Armory's hands are tied on this one.  You can use a modified version of Bitcoin-Qt to broadcast a tx to dozens of peers with sub-standard fee, and you are pretty comfortable that at least a couple of peers will accept and propagate.  If you don't mind waiting, that's okay.

The problem here is that Armory doesn't have dozens of peers.  It is connected to the network through exactly one peer: your own Bitcoin-Qt/bitcoind -- and one that is usually following the rules.  When I first created Armory, I tried putting in a min-fee-override, but quickly found out it's pointless.  The tx has to go through that bitcoind, and it will be DOA if it doesn't have enough fee for relay.  100% failure rate, guaranteed.  So I had to disable it, because it was pointless, since 99%+ users don't have a setup capable of doing it.

Technically it can be done if you run a modified version of Bitcoin-Qt or bitcoind that will forward it in addition to modifying Armory to do it, which should be pretty easy.  It's just that few people will actually do this so it's disabled.

Actually, if I'm honest, I don't even broadcast it through my bitcoin-qt, because if it does fail (I.E. nobody likes my cheap-ass transaction, and, it gets rejected and forgotten about by the network as a whole) it gets all pissy at me and I have to run the wallet through pywallet to get rid of the failed transactions (Assuming I want to modify them).

https://blockchain.info/pushtx
http://eligius.st/~wizkid057/newstats/pushtxn.php
https://coinb.in/send-raw-transaction.html

Are a god send. I understand Armory can't use these sources (As some people won't want their IP being directly marked as "Creator of this transaction" by a centralized unit), but, I can.

Another idea would be, assuming you're in expert mode, you can overwrite the fees, sign it (Online/offline/whatever), etc..., then, instead of broadcasting, just receive a standard format rawtransaction that you can do what you like with.


Title: Re: transaction fees are mandatory?
Post by: etotheipi on March 09, 2014, 03:51:46 PM
Armory won't even let you create the transaction though.  However, you should be able to change the behavior by simply adding a "No" button to the dialog that says "Do you agree to a fee of %s?":

https://github.com/etotheipi/BitcoinArmory/blob/master/qtdialogs.py#L5471

Change

Code:
msgBtns = QMessageBox.Yes | QMessageBox.Cancel

to

Code:
msgBtns = QMessageBox.Yes | QMessageBox.Cancel | QMessageBox.No

The logic is already there to ignore the warning if "No" is clicked, but I disabled the "No" button for the reasons already mentioned.  However, to actually use this, you'll have to create-unsigned, then use the offline-signing window to sign the transaction and then "Copy Raw Tx (hex)" (in expert mode).  Then you can copy the tx into one of those push-tx tools. 

One problem is that Armory will not see it until it's included in a block.  It may propagate, but your local Bitcoin-Qt/bitcoind will not forward it to your Armory instance, so you'll have to watch the tx using something else, perhaps blockchain.info.


Title: Re: transaction fees are mandatory?
Post by: wisefear on March 16, 2014, 03:50:17 PM
The minimum fee is nearly $0.10 (10 cents), which is too high for the value of my transaction ($1.00). It's nearly a 10% fee!


Title: Re: transaction fees are mandatory?
Post by: roslinpl on March 16, 2014, 06:10:23 PM
The minimum fee is nearly $0.10 (10 cents), which is too high for the value of my transaction ($1.00). It's nearly a 10% fee!

:P you can always put 0 fee and use qt.
Then wait 2 days till your dollar will be confirmed :P


Title: Re: transaction fees are mandatory?
Post by: wisefear on March 16, 2014, 09:53:20 PM
How can I add a 1 satoshi fee?


Title: Re: transaction fees are mandatory?
Post by: Brangdon on March 17, 2014, 01:24:00 PM
The minimum fee is nearly $0.10 (10 cents), which is too high for the value of my transaction ($1.00). It's nearly a 10% fee!
The raw Bitcoin protocol is not suited for micro-transactions. That's by design. At best they take up more room in the block-chain than they are worth, and at worst they can be denial of service attacks.

(There are ways to layer micro-transactions on top of the raw Bitcoin protocol, either via a payment channel or through a third party payment processor.)


Title: Re: transaction fees are mandatory?
Post by: roslinpl on March 17, 2014, 09:18:20 PM
How can I add a 1 satoshi fee?

Perhaps you can in Bitcoin-qt for example you can put as much as you want as a fee.