diff --git a/BUILD.md b/BUILD.md index 525eb86ccd..e5a20811c6 100644 --- a/BUILD.md +++ b/BUILD.md @@ -1,11 +1,15 @@ -- [Hyperledger Cactus Build Instructions](#hyperledger-cactus-build-instructions) +- [Hyperledger Cacti Build Instructions](#hyperledger-cacti-build-instructions) - [Fast Developer Flow / Code Iterations](#fast-developer-flow--code-iterations) - [Getting Started](#getting-started) - - [Random Windows specific issues not covered here](#random-windows-specific-issues-not-covered-here) + - [MacOS](#macos) + - [Linux](#linux) + - [Windows](#windows) + - [Random Windows specific issues not covered here](#random-windows-specific-issues-not-covered-here) + - [Configure Cacti](#configure-cacti) - [Build Script Decision Tree](#build-script-decision-tree) - [Configuring SSH to use upterm](#configuring-ssh-to-use-upterm) -## Hyperledger Cactus Build Instructions +## Hyperledger Cacti Build Instructions This is the place to start if you want to give Cactus a spin on your local machine or if you are planning on contributing. @@ -35,29 +39,52 @@ The `npm run watch` script in action: ![Fast Developer Flow / Code Iterations](./docs/hyperledger-cactus-watch-script-tutorial-2021-03-06.gif) ## Getting Started + +### MacOS + +_Unless explicitly stated otherwise, each bullet will apply to both Intel and ARM Macs. In bullets where there is a difference in the installation process it will be noted._ + * Use preset environment: * [VSCode docker container](./.devcontainer) -* ... or install OS level dependencies manually: - * Windows Only - * WSL2 or any virtual machine running Ubuntu 20.04 LTS +* Or install OS level dependencies manually: * Git + * https://github.com/git-guides/install-git#install-git-on-mac * NodeJS v18.19.0, npm v10.2.3 (we recommend using the Node Version Manager (nvm) if available for your OS) - ``` - nvm install 18.19.0 - nvm use 18.19.0 - ``` + * [Download nvm using script](https://github.com/nvm-sh/nvm?tab=readme-ov-file#install--update-script) + * _See the Section "Macs with Apple Silicon Chips" under [macOS Troubleshooting](https://github.com/nvm-sh/nvm?tab=readme-ov-file#macos-troubleshooting) for ARM Mac specific instructions_ + * [Download nvm using homebrew](https://sukiphan.medium.com/how-to-install-nvm-node-version-manager-on-macos-d9fe432cc7db) + * Using nvm install and use specific version of node: + ``` + nvm install 18.19.0 + nvm use 18.19.0 + ``` * Yarn * `npm run enable-corepack` (from within the project directory) - * [Docker Engine](https://docs.docker.com/engine/install/ubuntu/). Make sure that Docker is working and running, for example, running ``docker ps -aq`` + * [Docker Engine is available on Mac OS through Docker Engine](https://docs.docker.com/desktop/install/mac-install/). + * _See the difference in system requirements for Docker Desktop for Intel and ARM Macs under System Requirements on the page above._ * Docker Compose + * Installing Docker Desktop on Mac will include Docker Compose * OpenJDK (Corda support Java 8 JDK but do not currently support Java 9 or higher) - * `sudo apt install openjdk-8-jdk-headless` + * [Follow instructions for Mac here](https://github.com/supertokens/supertokens-core/wiki/Installing-OpenJDK-for-Mac-and-Linux) * Indy SDK (optional) - * [Installing the SDK](https://github.com/hyperledger/indy-sdk#installing-the-sdk) - * [Build the SDK from source](https://github.com/hyperledger/indy-sdk#how-to-build-indy-sdk-from-source) + * [Build the SDK from source](https://github.com/hyperledger-archives/indy-sdk/blob/main/docs/build-guides/mac-build.md) * Go - * [Installing Go](https://go.dev/) - * [Adding Environment Variable and Go extensions](https://www.geeksforgeeks.org/how-to-install-golang-in-vscode/) + * [Installing Go for Mac](https://go.dev/dl/) + * _Under featured downloads on the page above choose between the ARM64 or x86-64 option based on your machine._ + * [Adding Environment Variable and Go extensions](https://code.visualstudio.com/docs/languages/go) + +### Linux +* Insert Linux instructions here + +### Windows +* Insert Linux instructions here + +### Random Windows specific issues not covered here + +We recommend that you use WSL2 or any Linux VM (or bare metal). +We test most frequently on Ubuntu 20.04 LTS + +### Configure Cacti * Clone the repository @@ -148,12 +175,6 @@ At this point, with the running API server, you can * Develop your own applications against it with the `Cactus API Client(s)` * Create and test your own plugins - -#### Random Windows specific issues not covered here - -We recommend that you use WSL2 or any Linux VM (or bare metal). -We test most frequently on Ubuntu 20.04 LTS - ## Build Script Decision Tree The `npm run watch` script should cover 99% of the cases when it comes to working