Hey everybody, as you can tell by my post count I've been lurking a long while. I think the forum is still full of mature people and good programmers though, so I thought it would be good to post my question here.
I'm now responsible for aeternity's Go SDK, https://github.com/aeternity/aepp-sdk-go. In case you don't know, aeternity is like Ethereum, but we're trying to do it better.
The question is the classic "ease of use vs technical details" argument, and I want to know from your perspective what makes sense for you, as tech-but-not-blockchain enthusiasts.
One of the things aeternity has is AENS, which is like DNS but for addresses on the aeternity blockchain. We're working on making it feasible as a DNS backup for those cases when the DNS system revokes your name for whatever reason. Currently, the way you submit transactions to the blockchain looks like this:
aecli-go tx name_preclaim (parameters) -> returns a tx_ string
aecli-go account sign tx_ string -> returns a signed tx_ string
aecli-go chain broadcast tx_ string
(wait for the transaction to be included)
To register a name on AENS, you have to do this for a name_preclaim transaction, name_claim, and name_update (to point the name to an address). This can get tedious quickly and obviously there needs to be a simpler way. The reason for the preclaim-claim step is so that name squatters can't listen for a name registration on the network and then register the same name first by paying a higher transaction fee to be mined first.
Some questions:
1. As tech enthusiasts and mature programmers, would you consider a bash script a good way of automating all this? or would a single convenience command in the CLI be better?
2. Should transaction signing and sending be separated from transaction creation? What are some guidelines for making such a decision?
3. At what point would the CLI become an inflexible Fisher-Price toy - too simplistic for any other use than the trivially simple?
4. Would you be able to find AENS useful in any other areas? because we are looking to generalize it.
5. There are also JS, Python CLIs for aeternity - they broadly work the same way, but making my Go CLI more user friendly would mean a major departure. Would this be a problem for usability at all?