mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
c1559357f6
The current README dates back to when `create-daml-app` was its own repo, and seems mostly written from the perspective of being the default home page for the project. These days, `create-daml-app` serves two purposes: 1. As the core starting point for the Getting Started Guide, we can assume people who are totally new to Daml will be following the getting started guide. How else would they even know about this template? In that case, I think it's fair to assume the user will *not* be looking to the README for guidance. Therefore, repeating the documentation here seems a bit pointless. 2. As a template to quickstart the creation of a "custom" app that is not the GSG. For that use-case, the README is the place where people would look for information, but at that point the information they're looking for are more along the lines of quick refreshers of what commands to run than explanations on how to use the app as Alice and Bob. CHANGELOG_BEGIN CHANGELOG_END |
||
---|---|---|
.. | ||
daml | ||
ui | ||
.dlint.yaml | ||
.gitignore | ||
daml.yaml.template | ||
README.md.template |
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/digital-asset/daml/blob/main/LICENSE) # __PROJECT_NAME__ See [documentation] for details. [documentation]: https://docs.daml.com/getting-started/installation.html Please ask for help on [the Daml forum] if you encounter any issue! [the Daml forum]: https://discuss.daml.com ## Development Quick Start You need to have [Node.js] and [Daml] installed. [Node.js]: https://nodejs.dev [Daml]: https://docs.daml.com First, start the Daml components: ```bash daml start ``` This will: - Build you Daml code once. - Generate JavaScript code (and TypeScript definitions) for your Daml types. - Start a Daml sandbox gRPC server (on 6865). - Start a Daml HTTP JSON API server (on 7575). - Watch for the `r` key press (`r` + Enter on Windows); when pressed, rebuild all of the Daml code, push the new DAR to the ledger, and rerun the JS/TS code generation. Next, start the JS dev server: ```bash cd ui npm install npm start ``` This starts a server on `http://localhost:3000` which: - Builds all of your TypeScript (or JavaScript) code (including type definitions from the codegen). - Serves the result on :3000, redirecting `/v1` to the JSON API server (on `localhost:7575`) so API calls are on the same origin as far as your browser is concerned. - Watch for changes in TS/JS code (including codegen), and immediately rebuild. ## Deploying to Daml Hub To build everything from scratch: ```bash daml build daml codegen js .daml/dist/__PROJECT_NAME__-0.1.0.dar -o ui/daml.js cd ui npm install npm run-script build zip -r ../__PROJECT_NAME__-ui.zip build ``` Next you need to create a ledger on [Daml Hub], upload the files `.daml/dist/__PROJECT_NAME__-0.1.0.dar` (created by the `daml build` command) and `__PROJECT_NAME__-ui.zip` (created by the `zip` command based on the result of `npm run-script build`). [Daml Hub]: https://hub.daml.com Once both files are uploaded, you need to tell Daml Hub to deploy them. A few seconds later, your website should be up and running.