Skip to content

Commit 947b52c

Browse files
committed
chore: update generated files
Signed-off-by: Christian Stewart <christian@aperture.us>
1 parent abfaf53 commit 947b52c

File tree

53 files changed

+886
-101
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+886
-101
lines changed

README.md

Lines changed: 30 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
**Bifrost** is a peer-to-peer communications engine with pluggable transports:
66

7-
- **Cross-platform**: supports web browsers, servers, desktop, mobile, ...
8-
- **Efficient**: multiplex many simultaneous streams over a single Link.
9-
- **Encryption**: identify, authenticate, and encrypt each Link between peers.
10-
- **Flexible**: use multiple transports, protocols, simultaneously.
11-
- **Meshing**: supports multi-hop routing to a desired target peer w/ circuits.
12-
- **PubSub**: publish/subscribe channels with pluggable implementations.
13-
- **Robust**: uses Quic for lossless links over lossy transports.
7+
- **Cross-platform**: supports web browsers, servers, desktop, mobile, ...
8+
- **Efficient**: multiplex many simultaneous streams over a single Link.
9+
- **Encryption**: identify, authenticate, and encrypt each Link between peers.
10+
- **Flexible**: use multiple transports, protocols, simultaneously.
11+
- **Meshing**: supports multi-hop routing to a desired target peer w/ circuits.
12+
- **PubSub**: publish/subscribe channels with pluggable implementations.
13+
- **Robust**: uses Quic for lossless links over lossy transports.
1414

1515
Bifrost uses [ControllerBus] controllers and directives to send any protocol
1616
over any transport with extensive and flexible configuration.
@@ -22,21 +22,21 @@ over any transport with extensive and flexible configuration.
2222
[![Go Reference Widget]][Go Reference] [![Go Report Card Widget]][Go Report Card] [![DeepWiki Widget]][DeepWiki]
2323

2424
[Go Reference]: https://pkg.go.dev/github.com/aperturerobotics/bifrost
25-
[Go Reference Widget]:https://pkg.go.dev/badge/github.com/aperturerobotics/bifrost.svg
25+
[Go Reference Widget]: https://pkg.go.dev/badge/github.com/aperturerobotics/bifrost.svg
2626
[Go Report Card Widget]: https://goreportcard.com/badge/github.com/aperturerobotics/bifrost
2727
[Go Report Card]: https://goreportcard.com/report/github.com/aperturerobotics/bifrost
2828
[DeepWiki Widget]: https://img.shields.io/badge/DeepWiki-aperturerobotics%2Fbifrost-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==
2929
[DeepWiki]: https://deepwiki.com/aperturerobotics/bifrost
3030

3131
Bifrost is designed around the following core concepts:
3232

33-
- **Peer**: a routable process or device with a keypair.
34-
- **Transport**: a protocol which can create Links with other peers.
35-
- **Link**: a connection between two peers over a Transport.
36-
- **Stream**: channel of data between two Peer with a protocol type.
37-
- **RPC**: request/reply and bidirectional streaming remote calls.
38-
- **PubSub**: at-least-once delivery of messages to named topics.
39-
- **Signaling**: exchanging messages between peers via a relay server.
33+
- **Peer**: a routable process or device with a keypair.
34+
- **Transport**: a protocol which can create Links with other peers.
35+
- **Link**: a connection between two peers over a Transport.
36+
- **Stream**: channel of data between two Peer with a protocol type.
37+
- **RPC**: request/reply and bidirectional streaming remote calls.
38+
- **PubSub**: at-least-once delivery of messages to named topics.
39+
- **Signaling**: exchanging messages between peers via a relay server.
4040

4141
Integrates with networking, pubsub, and RPC libraries like [libp2p], [starpc],
4242
and [pion webrtc].
@@ -137,11 +137,11 @@ which are not yet exposed via these flags.
137137

138138
Most Bifrost functionality is exposed on the client CLI and RPC API:
139139

140-
- Mount a peer by loading a private key into the daemon.
141-
- Forward incoming streams with a protocol ID to a multiaddress
142-
- Proxy incoming connections to a listener to a remote peer
143-
- Open a stream with a remote peer and a given protocol ID
144-
- Accept a stream for a local peer with a given protocol ID
140+
- Mount a peer by loading a private key into the daemon.
141+
- Forward incoming streams with a protocol ID to a multiaddress
142+
- Proxy incoming connections to a listener to a remote peer
143+
- Open a stream with a remote peer and a given protocol ID
144+
- Accept a stream for a local peer with a given protocol ID
145145

146146
The client CLI has the following help output:
147147

@@ -194,7 +194,7 @@ is exposed to the API and command line. Some examples:
194194
# Standard error is used for logging.
195195
bifrost client accept \
196196
--local-peer-id <peer-id> \
197-
--protocol-id /x/myproto
197+
--protocol-id /x/myproto
198198

199199
# Establish a stream.
200200
# Standard output is the incoming data stream, standard input is the outgoing data stream.
@@ -259,7 +259,7 @@ between a local port and a remote peer port, similar to SSH port forwarding:
259259

260260
This example shows how to run two daemons with information on how to contact
261261
each other, and then "tell" the second daemon to listen on port 8002 and forward
262-
any incoming connections to the remote peer with the given peer ID.
262+
any incoming connections to the remote peer with the given peer ID.
263263

264264
When someone connects to port 8002 the EstablishLinkWithPeer directive is added
265265
and the UDP transport opens the connection with the peer (on-demand.) The stream
@@ -330,19 +330,19 @@ Floodsub is currently supported as a PubSub protocol.
330330

331331
## Developing
332332

333-
If using Go only, you don't need `yarn` or `Node.JS`.
333+
If using Go only, you don't need `bun` or `Node.JS`.
334334

335335
Bifrost uses [Protobuf](https://protobuf.dev/) for message encoding.
336336

337337
You can re-generate the protobufs after changing any `.proto` file:
338338

339339
```
340-
# stage the .proto file so yarn gen sees it
340+
# stage the .proto file so bun gen sees it
341341
git add .
342342
# install deps
343-
yarn
343+
bun install
344344
# generate the protobufs
345-
yarn gen
345+
bun run gen
346346
```
347347

348348
To run the test suite:
@@ -351,28 +351,15 @@ To run the test suite:
351351
# Go tests only
352352
go test ./...
353353
# All tests
354-
yarn test
354+
bun run test
355355
# Lint
356-
yarn lint
356+
bun run lint
357357
```
358358

359359
### Developing on MacOS
360360

361-
On MacOS, some homebrew packages are required for `yarn gen`:
362-
363-
```
364-
brew install bash make coreutils gnu-sed findutils protobuf
365-
brew link --overwrite protobuf
366-
```
367-
368-
Add to your .bashrc or .zshrc:
369-
370-
```
371-
export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
372-
export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH"
373-
export PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH"
374-
export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH"
375-
```
361+
On MacOS, the `aptre` CLI handles all protobuf generation without requiring
362+
additional homebrew packages. Just run `bun run gen` after installing bun.
376363

377364
## Support
378365

0 commit comments

Comments
 (0)