What do you think about adding the ability to pass in a private key so that the transaction returned is ready to be transmitted immediately? The examples listed in the top-level `README.md` show how to create a transaction and then send it out via peer-to-peer, but it does not show how to sign the transaction so that it will actually be accepted.

Although, it might make sense to make `sign()` a separate API.