my-cloud / ruthenium Goto Github PK
View Code? Open in Web Editor NEWGolang implementation of the Ruthenium protocol
License: The Unlicense
Golang implementation of the Ruthenium protocol
License: The Unlicense
In GitLab by @Styks on Aug 2, 2022, 08:43
For a first implementation, we taken the easy way. To know if someone is registered in the Proof of Humanity registry, we are requesting this REST API. This is a vulnerability because the data is centralized. We need to gather the information in a decentralized manner. To do so, we can directly read the isRegistered value from the Proof of Humanity smart contract.
isRegistered
value๐ก Here is where the REST API is called in our code
๐ก This seems to be a good tutorial to know how to read a smart contract
Context
Since the wallet amount is decreasing, people need a basic income to be interested in creating an account.
Since the validators need an incentive to add as much as transactions as possible into the next block, the reward must depend on transaction fees.
Description
The validator reward must be replaced by the transaction fees.
Every wallet must get a basic income.
Tasks
In GitLab by @Styks on Aug 25, 2022, 22:01
the go.mod module name points to the gitlab repository. Update it to reflect the github repository.
In GitLab by @Styks on Jul 27, 2022, 18:44
When the wallet address is empty in a request from wallet side, the blochain side logs error because of a nil pointer dereference.
In GitLab by @Styks on Sep 11, 2022, 14:41
Since the semver is related to an API, it should be documented.
Context
A hudge transactions count might lead to a blockchain propagation time to out of the validation delay.
Description
The problem might be avoided by limiting the number of transactions to be included into the next block. Higher transactions fees might be applied to ensure a transaction to be in the next block.
Tasks
In GitLab by @Styks on Aug 5, 2022, 12:49
Context
Verifying the whole blockchain might take more time as it grows up.
Description
A lot of time can be saved if the blockchain can be stored into a file to be loaded the next time the node is started.
Tasks
Try to split the feature into small tasks.
In GitLab by @Styks on Aug 8, 2022, 07:59
In GitLab by @Styks on Jul 22, 2022, 08:21
๐กsee https://pkg.go.dev/context#Context.Done and use it here
In GitLab by @Styks on Jul 5, 2022, 14:23
In GitLab by @Styks on Aug 22, 2022, 15:23
Use PoH instead of PoW.
The default port is 8106 instead of 8080
Context
Some of the constants defined in the project might have to be changed later on. It is a shame to modify source code to just change a setting.
Description
Most of the constants might be extracted to a configuration file
Tasks
We need to create a release branch
LABEL org.opencontainers.image.description DESCRIPTION
in the Dockerfilejobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: 1.18
- uses: golangci/golangci-lint-action@v3
In GitLab by @Styks on Aug 5, 2022, 17:58
There are calculus issues with floating points number find a way to only use unsigned integers.
In GitLab by @Styks on Jul 22, 2022, 08:20
read tcp 192.168.1.90:5000->192.168.1.90:62368: i/o timeout
)In GitLab by @Styks on Aug 8, 2022, 17:47
Since the ruthenium (106) is a radioelement, it should decay.
In GitLab by @Styks on Jul 26, 2022, 13:50
In GitLab by @Styks on Aug 8, 2022, 08:00
If there is no transaction fee, the blockchain network is vulnerable to transactions spam.
When merging with rebase onto main
, each commit is added individually, and their revision identifiers seem to differ from those of dev
. To avoid conflicts for the next release, the release branch must be merged locally to main
.
In GitLab by @Styks on Jul 27, 2022, 18:55
In GitLab by @Styks on Aug 5, 2022, 10:28
In GitLab by @gwenall on Aug 7, 2022, 18:01
In GitLab by @Styks on Sep 7, 2022, 12:07
In GitLab by @Styks on Aug 4, 2022, 18:10
In GitLab by @Styks on Aug 2, 2022, 14:37
ruthenium/.github/workflows/docker-publish.yml
file, remove the dev
branch.Instead of:
on:
push:
branches: [ "main", "dev" ]
We want:
on:
push:
branches: [ "main" ]
Investigate if it can be an issue (i.e. to find the oldest reward recipient) and if so, solve it by adding a rule to always have a single reward recipient
In GitLab by @Styks on Jul 13, 2022, 09:12
In GitLab by @Styks on Jul 22, 2022, 08:34
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.