Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caolan/dust
P2P event streams
https://github.com/caolan/dust
event-sourcing p2p
Last synced: 4 days ago
JSON representation
P2P event streams
- Host: GitHub
- URL: https://github.com/caolan/dust
- Owner: caolan
- License: other
- Created: 2017-02-25T12:13:00.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-06-02T21:36:45.000Z (over 7 years ago)
- Last Synced: 2024-11-03T02:22:29.356Z (about 2 months ago)
- Topics: event-sourcing, p2p
- Language: Scheme
- Size: 191 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* Dust
A daemon for disseminating events over a peer-to-peer network.** Install
*** Requirements
- [[https://code.call-cc.org/][CHICKEN Scheme 4.x]]
- [[https://libsodium.org][libsodium]]
- [[https://symas.com/offerings/lightning-memory-mapped-database/][LMDB]]
- [[http://miniupnp.free.fr/][miniupnpc]]#+BEGIN_SRC shell
sudo apt-get install chicken-bin libsodium-dev liblmdb-dev libminiupnpc-dev
#+END_SRCCurrently (until https://bugs.call-cc.org/ticket/1352 is resolved), a patched version of the unix-sockets egg is required. Please fetch the source for this egg by doing:
#+BEGIN_SRC shell
chicken-install -r unix-sockets
#+END_SRCThen apply the patch from the ticket and, in the unix-sockets directory, do:
#+BEGIN_SRC shell
chicken-install -s
#+END_SRC*** Build and install
#+BEGIN_SRC shell
chicken-install -s
#+END_SRC*** OpenBSD
On OpenBSD 6.1, I install these packages:#+BEGIN_SRC shell
doas pkg_add chicken sodium miniupnpc
#+END_SRCThen install LMDB from source:
#+BEGIN_SRC shell
git clone git://github.com/LMDB/lmdb
cd lmdb
git checkout LMDB_0.9.19
make
# "make install" doesn't work for me as the expected binaries don't all build
doas cp liblmdb.so /usr/local/lib/
doas cp liblmdb.a /usr/local/lib/
doas cp lmdb.h /usr/local/include/
#+END_SRCThen build and install dust:
#+BEGIN_SRC shell
cd dust
CPATH=/usr/local/include doas chicken-install
#+END_SRCNote: LMDB has to be used in MDB_WRITEMAP mode on OpenBSD due to the
lack of a unified buffer cache. LMDB environments will reserve their
full mapsize instead of growing as entries are added and nested
transactions will not be supported.** Run tests
Install test dependencies.#+BEGIN_SRC shell
chicken-install -s test test-generative data-generators
#+END_SRCRun the unit tests.
#+BEGIN_SRC shell
csi -s tests/run.scm
#+END_SRC