devgrants
devgrants copied to clipboard
Next Step Microgrant: SoftLoadBalanceClient
1. What is your project? (max 100 words)
Implement a soft load balancing client (as a library) with the heaviest chain selector for miner node.
Since a single chain node is prone to delay in chain synchronization due to network problems, it will affect the block production of miner node.Using our chain node client can solve this problem.
By dynamically selecting the heaviest chain node, it reduces the impact of network factors on chain synchronization, improves the stability of miner node' block production, and avoids the problem of single point of failure.
2. Project links
Link to Github repo: https://github.com/froghub-io/lotus-load-balance-client
3. How is IPFS, Filecoin, or related technology used in this project? (max 100 words)
The Lotus API will be used for this project
4. How will you improve your project with this grant? What steps will you take to meet this objective? (max 200 words)
Since the load balancing client is provided to the miner nodes, there are many API interfaces involved, and more comprehensive testing is required.
With funding, We are mainly used for leasing computing resources and deploying more chain nodes for more comprehensive testing.
In the future we intend to implement the following features:
- Allow independent configuration of the list of chain nodes used to sign messages, to avoid all nodes importing the wallet
- Allows to run as a gateway service and Wallet unified management in the gateway.
5. Do you agree to share grant reports upon request, including a final grant report at the end of the three month period?
Yes
6. Does your proposal comply with our Community Code of Conduct?
Yes
7. Links and submissions
Additional questions:
Name | Github | Role | |
---|---|---|---|
samuerio | [email protected] | https://github.com/samuerio | developer |
Hi @FroghubMan, can you confirm if this project is open source?
Yes, it is open source and licensed under MIT.
This microgrant has been approved! We will send an email to confirm payment details.
Please note that your final grant report is due within three months and can be submitted here. Please let us know if you have any questions!
Hi @FroghubMan, can you provide a final report for this project? Please let me know of questions.
To test the effectiveness of the lotus node load balancing client in a real network environment,we integrated it into lotus-miner and started six lotus nodes, all of which imported wallets for message signing.
After several months of testing, we obtained the following results:
Achieved expected effects:
- lotus-miner can still work normally unless all six lotus nodes are down.
- By dynamically selecting the heaviest chain node, the block-producing stability of lotus-miner has been improved to some extent.
Issues discovered:
When bypassing the load balancing client and independently sending messages to a node in the cluster, other cluster nodes will be in a state of inconsistent nonce during the time when the other nodes have not yet synchronized with the message. In this case, the other nodes in the cluster cannot send the correct message.
We have submitted the final grant report through Airtable.