Bitcoin Forum
December 05, 2016, 08:30:32 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: *nix command line tools for Bitcoin  (Read 2129 times)
MoonShadow
Legendary
*
Offline Offline

Activity: 1666



View Profile
December 16, 2010, 12:08:46 AM
 #1

How difficult would it be to develop a set of command line tools for *nix class OS's?  Specificly, I can see a need of a CL command that can look at the user's wallet and output a transaction to a pipe or file, in turn allowing me to send a transaction as one would any other file.  As an email attachment would be a boon.  Likewise, another command that can take a pipe with an incoming transaction and feed that to either bitcoind or directly onto the Bitcoin network would be neccessary.  Neither of these tools neccessarily need to understand the blockchain, I don't think.

This is a neccessary step for a bitcoin client without any Internet access (i.e. an 'air gap' machine connected only by sneakernet) and would make using Bitcoin over a SSH login connection much easier.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480926632
Hero Member
*
Offline Offline

Posts: 1480926632

View Profile Personal Message (Offline)

Ignore
1480926632
Reply with quote  #2

1480926632
Report to moderator
1480926632
Hero Member
*
Offline Offline

Posts: 1480926632

View Profile Personal Message (Offline)

Ignore
1480926632
Reply with quote  #2

1480926632
Report to moderator
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
December 16, 2010, 12:15:29 AM
 #2

How difficult would it be to develop a set of command line tools for *nix class OS's?  Specificly, I can see a need of a CL command that can look at the user's wallet and output a transaction to a pipe or file, in turn allowing me to send a transaction as one would any other file.  As an email attachment would be a boon.  Likewise, another command that can take a pipe with an incoming transaction and feed that to either bitcoind or directly onto the Bitcoin network would be neccessary.  Neither of these tools neccessarily need to understand the blockchain, I don't think.

This is a neccessary step for a bitcoin client without any Internet access (i.e. an 'air gap' machine connected only by sneakernet) and would make using Bitcoin over a SSH login connection much easier.

You mean some kind of a '-o' option to the sendtoaddress command ?

Eg:

$ bitcoind sendtoaddress -o transact-file.bitcoin $somebitcoinaddress $amount

or

$ bitcoind sendtoaddress -o - $somebitcoinaddress $amount |gpg -ae "John Doe" |mail jdoe@mail.com

and so on ?
MoonShadow
Legendary
*
Offline Offline

Activity: 1666



View Profile
December 16, 2010, 01:25:12 AM
 #3

How difficult would it be to develop a set of command line tools for *nix class OS's?  Specificly, I can see a need of a CL command that can look at the user's wallet and output a transaction to a pipe or file, in turn allowing me to send a transaction as one would any other file.  As an email attachment would be a boon.  Likewise, another command that can take a pipe with an incoming transaction and feed that to either bitcoind or directly onto the Bitcoin network would be neccessary.  Neither of these tools neccessarily need to understand the blockchain, I don't think.

This is a neccessary step for a bitcoin client without any Internet access (i.e. an 'air gap' machine connected only by sneakernet) and would make using Bitcoin over a SSH login connection much easier.

You mean some kind of a '-o' option to the sendtoaddress command ?

Eg:

$ bitcoind sendtoaddress -o transact-file.bitcoin $somebitcoinaddress $amount

or

$ bitcoind sendtoaddress -o - $somebitcoinaddress $amount |gpg -ae "John Doe" |mail jdoe@mail.com

and so on ?


Sure, that would work.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
December 16, 2010, 01:28:49 AM
 #4

Sure, that would work.

Is that even possible to put a transaction into a file ?  What would that mean exactly ?

I mean : I don't understand what would such a file consist of.
tcatm
Sr. Member
****
Offline Offline

Activity: 337


View Profile
December 16, 2010, 01:39:17 AM
 #5

Transactions should always be spread through the bitcoin network. Anything else would make double spending really easy. Remember, the transaction has to be included in the next block so it's vital that all miners know of it as soons as possible.
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
December 16, 2010, 01:42:09 AM
 #6

Transactions should always be spread through the bitcoin network. Anything else would make double spending really easy. Remember, the transaction has to be included in the next block so it's vital that all miners know of it as soons as possible.

That's what I thought too.
MoonShadow
Legendary
*
Offline Offline

Activity: 1666



View Profile
December 16, 2010, 01:47:36 AM
 #7

Transactions should always be spread through the bitcoin network. Anything else would make double spending really easy. Remember, the transaction has to be included in the next block so it's vital that all miners know of it as soons as possible.

It wouldn't make double spending easy, double spending is stopped at the receiving end, and if another transaction makes it into the blockchain before this one, that one is the valid transaction.  I'm not suggesting this as a means of defrauding vendors, most won't ever accept transactions that they can't send directly to the network themselves.  I need it, primarily, as a means of getting transactions to and from an old computer that is isolated from any network.  It's really hard to hack into a computer without a network card, which makes a great place to put a savings account.  Getting coins into it just involves updating the blockchain, which is easy enough to do.  Getting coins back out of it is tricker.

I'm thinking that I'm not likely to be the only person that will come up with a use for transactions that can be saved to a file or piped.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
December 16, 2010, 01:54:02 AM
 #8

It wouldn't make double spending easy, double spending is stopped at the receiving end, and if another transaction makes it into the blockchain before this one, that one is the valid transaction.  I'm not suggesting this as a means of defrauding vendors, most won't ever accept transactions that they can't send directly to the network themselves.  I need it, primarily, as a means of getting transactions to and from an old computer that is isolated from any network.  It's really hard to hack into a computer without a network card, which makes a great place to put a savings account.  Getting coins into it just involves updating the blockchain, which is easy enough to do.  Getting coins back out of it is tricker.

I'm thinking that I'm not likely to be the only person that will come up with a use for transactions that can be saved to a file or piped.

Then I think what you really need is an "export" function, which has been requested several times in this forum.

Basically it would allow to export some bitcoins into some private keys in a wallet file.  Of course there would be also an "import" function, for antagonist purspose.
MoonShadow
Legendary
*
Offline Offline

Activity: 1666



View Profile
December 16, 2010, 02:11:31 AM
 #9

It wouldn't make double spending easy, double spending is stopped at the receiving end, and if another transaction makes it into the blockchain before this one, that one is the valid transaction.  I'm not suggesting this as a means of defrauding vendors, most won't ever accept transactions that they can't send directly to the network themselves.  I need it, primarily, as a means of getting transactions to and from an old computer that is isolated from any network.  It's really hard to hack into a computer without a network card, which makes a great place to put a savings account.  Getting coins into it just involves updating the blockchain, which is easy enough to do.  Getting coins back out of it is tricker.

I'm thinking that I'm not likely to be the only person that will come up with a use for transactions that can be saved to a file or piped.

Then I think what you really need is an "export" function, which has been requested several times in this forum.

Basically it would allow to export some bitcoins into some private keys in a wallet file.  Of course there would be also an "import" function, for antagonist purspose.


That would be nice, but standard unix tools would fill this role easily, and much besides.  The idea that security is enhanced by opposing the realase of common tools, on the assumption that they could be used fraudulently, is false.  If they could be used in that manner, then the secuiryt model is already broken, and someone will be writing these tools for that specific purpose.  I don't believe that command line tools of this nature will materially impact security of Bitcoin.  If I'm wrong, please point out how, so that I may sell all my holding now and watch this whole thing fail.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
December 16, 2010, 02:20:32 AM
 #10

That would be nice, but standard unix tools would fill this role easily, and much besides.  The idea that security is enhanced by opposing the realase of common tools, on the assumption that they could be used fraudulently, is false.  If they could be used in that manner, then the secuiryt model is already broken, and someone will be writing these tools for that specific purpose.  I don't believe that command line tools of this nature will materially impact security of Bitcoin.  If I'm wrong, please point out how, so that I may sell all my holding now and watch this whole thing fail.

If by "standard unix tools" you mean ASCII output to stdout, then ok : just have the export function ouput private keys in an ASCII format to stdout.  Such a function should be used with care though, because it's easy to forget to redirect stdout.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!