Skip to content

Commit

Permalink
Merge pull request #108 from ineiti/small_updates
Browse files Browse the repository at this point in the history
Small updates
  • Loading branch information
ineiti authored Aug 9, 2024
2 parents de222a2 + f35ed04 commit 93f42bc
Show file tree
Hide file tree
Showing 45 changed files with 11,281 additions and 10,065 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
Cargo.lock binary
package-lock.json binary
devbox.lock binary
104 changes: 100 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,100 @@
2022-08-xx - v0.7.0
- cleaned up for a release of flnet
- merged flnet-libc and flnet-wasm into flnet
- simplified directory hierarchy
Following https://keepachangelog.com/en/1.1.0/ and using
- Added for new features.
- Changed for changes in existing functionality.
- Deprecated for soon-to-be removed features.
- Removed for now removed features.
- Fixed for any bug fixes.
- Security in case of vulnerabilities.

## [Unreleased]

### Changed
- Updated versions of most dependencies

### Added

- License files
- Devbox

## [0.7.0] - 2022-08-01

### Added
- Add background processing of broker messages
- Re-arranging crates and publish
- Adding examples

### Changed
- cleaned up for a release of flnet
- merged flnet-libc and flnet-wasm into flnet
- simplified directory hierarchy
- Moving stuff around to make it easier to understand

## [0.6.0] - 2022-05-01

### Changed
- Rewrite of networking layer

### Added
- Use real gossiped decentralized message passing
- Offer crates for using parts of fledger directly

## [0.5.0] - 2022-03-01

### Changed
- Rewrote big parts of the library and application to make it more modular

## [0.4.1] - 2021-09-16

### Changed
- Using thiserror::Error instead of String

## [0.4.0] - 2021-07-27

### Changed
- Added signature to the connection with the signal-server, thanks to
Bolton Bailey <bolton.bailey@gmail.com>
during the IC3 Hackathon

## [0.3.0] - 2021-04-08

### Changed
- More stable everything
- Clean up a lot of locking issues
- Fixing issues

## [0.2.3] - 2021-03-04

### Added
- Add docker-compose.yaml

### Fix
- Fix node Running

## [0.2.2] - 2021-03-02

### Added
- Run some nodes constantly on https://fledg.re to have a minimum consensus

## [0.2.1] - 2021-02-28

### Changed
- Make the https://web.fledg.re a bit nicer and more automatic

## [0.2] - 2021-02-26

### Added
- Simple ping test with the nodes
- CLI node using headless Chrome
- Have website https://fledg.re running and pointing to an up-to-date Fledger code

## [0.1] - 2021-02-05

### Added
- add ICE connection through the server
- use websockets to connect to server
- implement connection in Node

## [0.0] - 2020-12-xx

### Added
- start the idea
14 changes: 14 additions & 0 deletions LICENSE.Apache2
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Copyright 2024 Linus Gasser <ineiti@gasser.blue>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

9 changes: 9 additions & 0 deletions LICENSE.MIT
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Copyright 2024 Linus Gasser <ineiti@gasser.blue>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


69 changes: 23 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Fledger - the fast, fun, easy ledger

Fledger's main goal is to create a web3 experience in the browser.
Fledger's main goal is to create a web3 experience in the browser without the
need for proxies.
Once the code starts in your browser, it will connect to other browsers,
and start sharing your diskspace, CPU, and network bandwidth.
No need to
Expand Down Expand Up @@ -31,7 +32,7 @@ but also long-term users who have a server where they can run a fledger node.
The system is set up to be 0-configuration and fast.

What it will never do:
- DeFi - the security guarantees for 1e6 US-$ and more will never be there
- DeFi - the security guarantees to handle 1e9 US-$ and more will never be there
- HODL - Fledger's Mana is not made to be held, but will disappear over time

## State of Fledger
Expand Down Expand Up @@ -59,7 +60,7 @@ of the network code:

### Binaries

Currently the following components are available that are used to create the fledger-binaries:
The following components are available that are used to create the fledger-binaries:
- [Command Line Interfaces](./cli) - command line binaries
- [Signalling server](./cli/flsignal) - the signalling server for the WebRTC connections
- [Fledger node](./cli/fledger) - a fledger node implementation for the command line
Expand Down Expand Up @@ -90,10 +91,10 @@ instructions.

## Running it on a server

Supposing you have rust installed, you can run:
Supposing you have [devbox](https://www.jetify.com/devbox/docs/installing_devbox/) installed, you can run:

```bash
cargo run cli/fledger
devbox run fledger
```

This will create a new file called `fledger.toml` in the `fledger` directory
Expand All @@ -115,46 +116,22 @@ This will run a local signalling server and two nodes that start to communicate.
Additionally you can open your browser and point ot to http://localhost:8080 to
access the node in the browser.

# Changelog
# Developing

If you want to help with developing, please use
[devbox](https://www.jetify.com/devbox/docs/installing_devbox/)
to have the same development environment as the other developers.
Once you install `devbox`, you can get a shell with

```bash
devbox shell
```
- 0.7.0 - 2022-10-??
- Re-arranging crates and publish
- Adding examples
- Moving stuff around to make it easier to understand
- Add background processing of broker messages
- 0.6.0 - 2022-05-??
- Rewrite of networking layer
- Use real gossiped decentralized message passing
- Offer crates for using parts of fledger directly
- 0.5.0 - 2022-??-??
- Rewrote big parts of the library and application to make it more modular
- 0.4.1 - 2021-09-16
- Using thiserror::Error instead of String
- 0.4.0 - 2021-07-27
- Added signature to the connection with the signal-server, thanks to
Bolton Bailey <bolton.bailey@gmail.com>
during the IC3 Hackathon
- 0.3.0 - 2021-04-08
- More stable everything
- Clean up a lot of locking issues
- Fixing issues
- 0.2.3 - 2021-03-04
- Fix node Running
- Add docker-compose.yaml
- 0.2.2 - 2021-03-02
- Run some nodes constantly on https://fledg.re to have a minimum consensus
- 0.2.1 - 2021-02-28
- Make the https://web.fledg.re a bit nicer and more automatic
- 0.2 - 2021-02-26
- Simple ping test with the nodes
- CLI node using headless Chrome
- Have website https://fledg.re running and pointing to an up-to-date
Fledger code
- 0.1 - 2021-02-05
- add ICE connection through the server
- use websockets to connect to server
- implement connection in Node
- 0.0 - 2020-12-xx
- start the idea
```

Once the shell is started, you can run `Code` to get a VisualCode which uses the rust
version of devbox.
I suggest you use the `1YiB.rust-bundle` extension in VisualCode, which makes it easier
to use rust.

# License

This project is licensed under MIT or Apache2.
23 changes: 18 additions & 5 deletions WIP.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,36 @@
# Work in progress

## Current high-level goal
- Clean up and make ready for semester student project

## Current concrete goal

- Create usable crates for a signalling server and webrtc clients
- add minimal documentation to crates
- have examples for both wasm and libc
- Publish fledger crates in crates.io
# TODO

### Things to do
## Bugs

- Find why the network stalls after some time
- Doesn't work in EPFL network

## Cleanups / improvements

- Increase version of flnet
- Clean up broker / network:
- Remove `Destination::{All,Others,This}` - Test it
only `Destination::All` is ever used
- Replace `process` with `async-task`
Not sure what is up with that. `process` is a method from `Broker`, while `async-task` is a crate
- Add `process_msg` with a `Destination::Settle<Vec<BrokerID>>`
Again, two years later, no idea...

## Reaching out

- Sign up for dev6

# Dates

2022-09-12:
- update to latest versions of wasm libraries

2022-09-09:
- Clean up broker / network:
Expand Down
Loading

0 comments on commit 93f42bc

Please sign in to comment.