2019-06-27 05:52:59 +00:00
|
|
|
# status-nim
|
|
|
|
|
2020-03-01 18:10:13 +00:00
|
|
|
Nim implementation of the Status protocol: https://github.com/status-im/specs
|
2019-06-27 05:52:59 +00:00
|
|
|
|
2020-03-01 18:10:13 +00:00
|
|
|
Corresponds roughly to status-go: https://github.com/status-im/status-go which is consumed by status-react: https://github.com/status-im/status-react/
|
2020-07-02 13:20:16 +00:00
|
|
|
|
2020-07-02 19:06:15 +00:00
|
|
|
### Requirements
|
2020-07-02 13:20:16 +00:00
|
|
|
* Go - (used to build status-go)
|
|
|
|
```
|
|
|
|
# Linux
|
|
|
|
<TODO>
|
|
|
|
|
|
|
|
# macOS
|
|
|
|
brew install go
|
|
|
|
```
|
|
|
|
|
2020-07-02 19:06:15 +00:00
|
|
|
### Installation
|
2020-07-02 13:20:16 +00:00
|
|
|
```
|
|
|
|
git clone https://github.com/status-im/nim-status
|
|
|
|
cd nim-status
|
|
|
|
make update
|
|
|
|
make
|
|
|
|
```
|
|
|
|
|
|
|
|
For more output use `make V=1 ...`.
|
|
|
|
|
|
|
|
Use 4 CPU cores with `make -j4 ...`.
|
|
|
|
|
2020-07-02 19:06:15 +00:00
|
|
|
### Usage
|
|
|
|
- Include `build/nim_status.a`, `build/nim_status.h` in your project
|
|
|
|
- Before any of the API calls are done, NimMain() needs to be run.
|
|
|
|
|
|
|
|
|
|
|
|
### Troubleshooting
|
2020-07-02 13:20:16 +00:00
|
|
|
|
|
|
|
If the `make` command fails due to already installed Homebrew packages, such as:
|
|
|
|
|
|
|
|
```
|
|
|
|
Error: protobuf 3.11.4 is already installed
|
|
|
|
To upgrade to 3.11.4_1, run `brew upgrade protobuf`.
|
|
|
|
make[1]: *** [install-os-dependencies] Error 1
|
|
|
|
make: *** [vendor/status-go/build/bin/libstatus.a] Error 2
|
|
|
|
```
|
|
|
|
|
|
|
|
This can be fixed by uninstalling the package e.g. `brew uninstall protobuf` followed by rerunning `make`.
|