Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(build): add text build steps for Mac #3421

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 43 additions & 22 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down
Loading