https://github.com/wzulfikar/nem-catapult-ubuntu
Catapult Server on Ubuntu (without docker)
https://github.com/wzulfikar/nem-catapult-ubuntu
blockchain catapult makefile nem ubuntu
Last synced: 3 months ago
JSON representation
Catapult Server on Ubuntu (without docker)
- Host: GitHub
- URL: https://github.com/wzulfikar/nem-catapult-ubuntu
- Owner: wzulfikar
- Created: 2018-08-25T15:44:05.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-19T10:03:51.000Z (over 6 years ago)
- Last Synced: 2025-03-08T17:43:25.622Z (3 months ago)
- Topics: blockchain, catapult, makefile, nem, ubuntu
- Language: Makefile
- Size: 13.7 KB
- Stars: 3
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NEM Catapult Server - Ubuntu
For those who want to build and run catapult server ***without docker***. Tested on Ubuntu 16.04 and Ubuntu 18.04. Based on:
- https://github.com/nemtech/catapult-server
- https://github.com/44uk/catapult-server-docker### Usage
1. deploy an Ubuntu 16.04 or 18.04 (64 bit) server
2. copy the `Makefile` to that server (ie. `~/Makefile`), or use this command to download it from your server:```
curl -O https://raw.githubusercontent.com/wzulfikar/nem-catapult-ubuntu/master/Makefile
```3. login to your server, and go to where you stored above Makefile
4. install catapult and its dependencies: `make install`Once finished, your `/opt` directory will look like this:
```
▸ /opt
▾ catapult
▾ bin
[catapult binaries]
▾ resources
[resources-related config files]
▾ tools
[tools-related config files]
▾ tests
[catapult test files]
▾ data
[catapult-related data]
```### Booting Up The Catapult
1. open the sample config file at `/opt/catapult-server/tools/nemgen/resources/mijin-test.properties`
2. adjust the value of `cppFile` and `binDirectory` to become like this:```
[output]
cppFile = /opt/catapult-server/tests/test/core/mocks/MockMemoryBasedStorage_data.h
binDirectory = /tmp
```3. generate nemesis block. as an example, we'll use the sample config from catapult repo:
```
make nemesis config=/opt/catapult/tools/nemgen/resources/mijin-test.properties
```4. run catapult server: `make up`
### Notes
- The order of packages installed in `Makefile` has been put in such a way that packages with dependencies will be installed first (ie. some scripts need to use cmake, mongoc needs `boost` to be available, etc.). This means that changing the order of installation might break the script.
- Catapult seems to require a specific version of packages. Changing the version of packages might break the build process.
- This approach has been tested in 4 different vps (bare metal):
1. **Machine A:** Ubuntu 16.04, 4 cores @ 2.4 GHz, 8gb RAM, 80 GB SSD: took ~2hrs from build to boot
2. **Machine B:** Ubuntu 16.04, 4 cores (8 cores with hyperthreading) @ 3.5 GHz, 32gb RAM, 220 GB SSD: took ~1hrs from build to boot
3. **Machine C:** Ubuntu 18.04, 4 cores (8 cores with hyperthreading) @ 3.5 GHz, 32gb RAM, 220 GB SSD: took ~30min from build to boot
4. **Machine D:** Ubuntu 18.04, 24 cores (48 cores with hyperthreading) @ 2.2 GHz, 64gb RAM, 960 GB SSD: took ~40min from build to boot- CPUs will be working hard during build process. In conclusion, more cpu equals faster build. A 4cpu machine will become fully utilized all the time during the build process. Once booted up, the catapult-server, in its idle state (no tx whatsoever) will take ~2% of CPU usage and ~124mb of RAM.
***That's all, folks!***