digital-asset / daml

The Daml smart contract language
https://www.digitalasset.com/developers
797 stars 199 forks source link

rename sandbox to "ledger" #1253

Closed bitonic closed 4 years ago

bitonic commented 5 years ago

as we start using the SQL backend in production use cases, it doesn't make much sense to call it sandbox. we've agreed to simply call it ledger instead. the binary itself should be daml-ledger, and on the assistant it should look like daml ledger.

cc @associahedron

bitonic commented 5 years ago

people brought up that "ledger" might be confusing as opposed to ledgers distributed outside the SDK. i don't have any better ideas, but adding the discussion label to make it clear that the name is not set in stone.

garyverhaegen-da commented 5 years ago

Whatever the new name end up being, we should have at least one release that accepts both the new and old ways/names of running things (and prints appropriate upgrade instructions on using the old ones).

Is the SQL backend replacing the existing sandbox? Otherwise I'd suggest something like daml ledger --backend postgres --postgres-uri postgres://username:password@host:port/db and daml ledger --backend mem.

bethaitman commented 5 years ago

I think the name ledger is a bit confusing: it's pretty generic, and won't make sense in a lot of existing stuff in the docs. For example, in the quickstart guide: To run the sandbox (a lightweight local version of the ledger).

on the other hand, it is simple, and I do like straightforward things...

ghost commented 5 years ago

@bitonic I like daml sandbox for the current behavior. We can always add more commands if we have more behavior, like calling daml ledger for a more general interface. (We can have the same executable/jar be invoked w/ different commands names and passing different arguments, just need to add it in releases/sdk-config.yaml.tmpl )

ghost commented 5 years ago

But in any case I don't have a strong opinion. If you feel renaming it to daml ledger is better, we can do that. We can hide the command daml sandbox and eventually remove it.

bitonic commented 5 years ago

Whatever the new name end up being, we should have at least one release that accepts both the new and old ways/names of running things (and prints appropriate upgrade instructions on using the old ones).

absolutely -- I think the sandbox naming should work forever as a legacy name. much like the --jdbcurl flag.

I think the name ledger is a bit confusing: it's pretty generic, and won't make sense in a lot of existing stuff in the docs. For example, in the quickstart guide: To run the sandbox (a lightweight local version of the ledger).

we've resolved to calling it ledger-postgres and ledger-inmemory. that should be less confusing, i think.

ghost commented 5 years ago

absolutely -- I think the sandbox naming should work forever as a legacy name. much like the --jdbcurl flag.

we've resolved to calling it ledger-postgres and ledger-inmemory. that should be less confusing, i think.

Ok, please update release/sdk-config.yaml as you see fit. You can hide the sandbox command by deleting its description, and it will still work on the command-line. Once you make the change we need to update daml-helper so that daml start still works (it needs to know where the sandbox jar is). (The integration tests should fail otherwise.)

gerolf-da commented 4 years ago

We'll take care of the branding of sandbox as part of another work stream.