Macbook (M1)
Step 0. Enable Rosetta-2
softwareupdate --install-rosetta
Step 1. Install nix
sh <(curl -L https://nixos.org/nix/install) --darwin-use-unencrypted-nix-store-volume
Step 2. Restart terminal
Step 3. Open the nix config file
sudo nano /etc/nix/nix.conf
Step 4. Be sure these lines are all inside the file
build-users-group = nixbld
substituters = https://hydra.iohk.io https://iohk.cachix.org https://cache.nixos.org/
trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
system = x86_64-darwin
extra-platforms = x86_64-darwin aarch64-darwin
sandbox = false
extra-sandbox-paths = /System/Library/Frameworks /System/Library/PrivateFrameworks /usr/lib /private/tmp /private/var/tmp /usr/bin/env
experimental-features = nix-command
extra-experimental-features = flakes
Step 5. Restart your computer
Step 6. Clone plutus apps repo
git clone https://github.com/input-output-hk/plutus-apps
Step 7. Go to plutus app directory
No checkout of commits needed, just use the master branch for now
cd plutus-apps/
Step 8. Build the server
nix-build -A plutus-playground.server
IMPORTANT: if there occurs a segfault, just build it again, it will work.
Step 9. Build the client
nix-build -A plutus-playground.client
Same here, if there are errors during build, just call the command again.
Step 10. Start nix shell (take some time)
nix-shell
Step 11. Go to server directory and start server (with the GC thing in front)
cd plutus-playground-server
GC_DONT_GC=1 plutus-playground-server
Sometimes the server will not start at first try. try again, second start should work!
Wait until server is started! you will see something like this
plutus-playground-server: for development use only
[Info] Running: (Nothing,Webserver {_port = 8080, _maxInterpretationTime = 80s})
Initializing Context
Initializing Context
Warning: GITHUB_CLIENT_ID not set
Warning: GITHUB_CLIENT_SECRET not set
Warning: JWT_SIGNATURE not set
Interpreter ready
Step 12. When server is started you can open a second nix-shell in another terminal
nix-shell
Step 13. Update npm
sudo npm install -g npm
Step 14. Go to client directory and start client (with the GC thing in front)
cd plutus-playground-client
GC_DONT_GC=1 npm run start
Wait until client has started and you see something like this
webpack compiled with 1 warning
ℹ 「wdm」: Compiled with warnings.
Will take some time. same here as above: if there are errors be sure to try at least a second build!
If the client takes to long it could be that it runs in timeout which is default 80 seconds.
To prevent this and change the timeout to 150 seconds eg, you can start the server with an option like this
GC_DONT_GC=1 plutus-playground-server -i 150s
Both should work now, client with https cert security warning in your browser: https://localhost:8009/
Wanna fix the certificate error in your browser? in plutus-playground-client folder do
nano webpack.config.js
and change the https
flag from true
to false
.
Thats it, but not needed. the url from now on would be http://localhost:8009
This guide copy-paste from https://github.com/renzwo/cardano-plutus-apps-install-m1/blob/main/README.md
Last updated
Was this helpful?