Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 05 2014 21:53

    donovanhide on master

    README formatting (compare)

  • Aug 05 2014 21:49

    donovanhide on master

    Fix README (compare)

  • Aug 05 2014 21:37

    donovanhide on master

    Fix README formatting (compare)

  • Aug 05 2014 21:36

    donovanhide on master

    Improve README (compare)

  • Aug 05 2014 21:18

    donovanhide on master

    Fix Ledger Summary columns Merge branch 'master' of github… (compare)

  • Aug 05 2014 02:03
    donovanhide opened #13
  • Aug 05 2014 01:59
    donovanhide commented #12
  • Aug 05 2014 00:56

    lukecyca on master

    Add trust command Allows user … Merge pull request #12 from sin… (compare)

  • Aug 05 2014 00:56
    lukecyca closed #12
  • Aug 05 2014 00:56
    lukecyca reopened #12
  • Aug 05 2014 00:56
    lukecyca commented #12
  • Aug 05 2014 00:56
    lukecyca closed #12
  • Aug 05 2014 00:52

    lukecyca on fix-value-encoding

    (compare)

  • Aug 05 2014 00:51

    lukecyca on master

    Fix binary encoding for non-nat… (compare)

  • Aug 05 2014 00:48

    lukecyca on fix-value-encoding

    Fix binary encoding for non-nat… (compare)

  • Aug 04 2014 20:22

    donovanhide on master

    Add chat to README Merge branch 'master' of github… (compare)

  • Aug 04 2014 19:54

    donovanhide on master

    update rdb help (compare)

  • Aug 04 2014 18:49

    donovanhide on master

    Fix summary output (compare)

  • Aug 04 2014 18:46

    donovanhide on master

    Fix Ledger Summary (compare)

  • Aug 04 2014 18:26
    donovanhide commented #12
Stephen Paul Weber
@singpolyma
it's a valid output format for tx, and other people's tools might prefer binary to json (depending on their implementation, etc)
Donovan Hide
@donovanhide
Ok, makes sense. A raw tx can be parsed without a Signature and PubSigningKey so there's no harm in supporting it :-)
I think the key decisions to make are which tools take which flags and how do they communicate through pipes.
The code will stem easily from those decisions
Stephen Paul Weber
@singpolyma
so, with the patches I've got on tx right now, the pipeline looks like: ./tx -b <all the data> | ./tx -submit s
Donovan Hide
@donovanhide
Perhaps all pipes should be colon separated binary. JSON makes it more complicated.
The explain tool already can take binary and make it JSON.
well, with the logging turned on it can :-)
Stephen Paul Weber
@singpolyma
is the idea with sign outputting the hash that submit can use it to make sure the blob hasn't been corrupted?
Donovan Hide
@donovanhide
No, just to pass it on to a wait command which can read the transaction stream and show when it has succeeded
sorry, been accepted into a ledger.
hence passing LastLedgerSequence as well (effectively a timeout)
Just realised that LastLedgerSequence is embedded in the transaction anyway. Doh!
Stephen Paul Weber
@singpolyma
the hash can be computed from the transaction data as well, though, yes?
Donovan Hide
@donovanhide
Yep, we just need the raw binary :-)
Stephen Paul Weber
@singpolyma
in which case it could be json or binary at some stages, though after signing should probably be binary for safety in case the order could get messed up
Donovan Hide
@donovanhide
I suppose wait is a permanently running daemon. Could be fed from a fifo pipe, but we're starting to get into esoteric unix land then...
JSON would work as well. I'm mostly just thinking out loud!
Maybe wait should be called confirm
Stephen Paul Weber
@singpolyma
yeah, confirm is a good name
but I would not use it long-running. anyone who wants that can run subscribe and look at the output
Donovan Hide
@donovanhide
True you'd want a succesful exit code of 0 from confirm when all it's input has been seen or exit code 1 if a single transaction failed.
Accepted transaction hashes go to stdout, timed out transactions go to stderr?
Stephen Paul Weber
@singpolyma
that makes sense
Donovan Hide
@donovanhide
We might need to rename https://github.com/rubblelabs/tx to https://github.com/rubblelabs/robust and have four directories tx, sign, submit and confirm.
Common functionality goes into the root in robust.go which is a package called robust
Stephen Paul Weber
@singpolyma
it's all still transaction related, but I'm not picky on name :)
Donovan Hide
@donovanhide
That way we can build a nice integration test, which is just a pipe.
I can put a secret in the drone.io settings which is hidden.
Nice way to test all the code. Look in the ledger :-)
Would be good to wait for Luke's input.
Other feature that might be worth discussing is having a .ripple file in your home folder that contains all your secrets and default flags. Bit like .ssh or .my.cnf
Donovan Hide
@donovanhide
I guess the key concept is to build common functionality for parsing inputs, creating outputs and interacting with the network and then build small tools which have few lines of code which use the common functionality.
Luke Cyca
@lukecyca
Just waking up on the west coast... Great to have you involved, Stephen!
I'll start reading through all the new chatter here and on the github issues.
Donovan Hide
@donovanhide
Yep, the more Gophers the better, even if they also like a bit of a functional approach :-)
Radical alternative to all of above is just to have a single tool which creates, signs, submits and confirms a single transaction with each stage being optional... A piped input can replace the first two stages.
And the piped input can contain multiple transactions.
Luke Cyca
@lukecyca
Yeah, I was thinking the tx tools would do all of those things. I guess it doesn't really matter to me though.
Splitting them will make the code dead easy to read, so they'll serve as nice examples for using the library.
Stephen Paul Weber
@singpolyma
can easily have a shell-script that wraps the pipeline
if wanted
Donovan Hide
@donovanhide
There is the old os.Args[0] trick with the same binary being symlinked to multiple names...
switch functionality on os.Args[0]... case "tx": case "submit": ,etc.
Someone want to write a very short spec in Markdown and submit it to the repo?
Luke Cyca
@lukecyca
That might be necessary. Go binaries are all static, so if we make multiple binaries they're all going to be big. Consolidating binaries makes that less of an issue.
Stephen Paul Weber
@singpolyma
"big" a bit, but not really that big
Donovan Hide
@donovanhide
Stephen have added you to the Rubble Crew, you have full permissions on the tx tool. So hack away :-) I'm a bit busy with the rdb tool and ripplebot.com so I'm going to relieve myself of controlling pull requests on this one.
Only request is that we have a README that explains the functionality. I don't think we have any other users yet, so don't worry if any change is too radical :-)