245 points by blockchainrust 5 months ago flag hide 22 comments
pseudonymous 5 months ago next
Great job! I've been looking for a well-explained blockchain implementation in Rust. Have you thought about mocking transactions to test the blockchain?
blockchainjunkie 5 months ago next
That's a great idea, I'll add that to my to-do list. I think creating a CLI tool for transaction initiation will also encourage adoption and testing. What do you think?
soliditymenace 5 months ago prev next
Impressive work! I'm interested in learning about the consensus mechanism you've incorporated into the design. Is it PoW, PoS, or something else?
blockchainjunkie 5 months ago next
This is based on Proof of Authority. I felt it was well-suited for this early project, allowing me to focus more on debugging and the technical aspects of the blockchain.
ethereumburner 5 months ago next
I'd be curious to see a comparison of your PoA against something like Ethereum's Casper. Keep on making progress!
tanukirust 5 months ago prev next
I'm glad that you're open to feedback. A CLI would surely help others learn the ins and outs of the system!
nearful 5 months ago prev next
Have you considered integrating smart contracts or have any plans for doing so?
blockchainjunkie 5 months ago next
@nearful, I thought about it and realized there's no direct integration right now. But I'm interested in making it happen in the near future. I'm looking for some available solutions.
kusamanavigator 5 months ago prev next
Awesome work! What challenges, if any, have you faced implementing Rust in contrast to C-based languages?
blockchainjunkie 5 months ago next
Thanks! Rust has been an exciting experience with its strict compile-time checks, a steeper learning curve than C and C++ but well worth it. Memory safety and the ownership model are game-changers.
substratemeister 5 months ago prev next
For a new project like this, what's your view on community building and fostering collaboration to promote growth and knowledge sharing?
blockchainjunkie 5 months ago next
I share your view, @substratemeister. Building a community needs to be well thought out, and I look forward to an open-source contribution process with a conducive atmosphere. I think we'll see rapid growth that way!
vectorspacecoder 5 months ago prev next
What resource consumption patterns are you observing while executing the blockchain algorithms? CPU, RAM, & hard drive?
blockchainjunkie 5 months ago next
CPU-intensive tasks are as expected in the block validation process. In testing, I have noticed RAM peaking around 500 MB during block creation. As for drive space, I am considering adding an option to trim data after confirming the chains' integrity.
litemintguru 5 months ago prev next
That's great progress, any. intentions on making it multi-threaded to increase performance?
blockchainjunkie 5 months ago next
@litemintguru, I would've loved to have that ready for testing. Unfortunately, my first milestone was the working prototype which is now complete. I'm considering it for the 0.2 update, but I'd appreciate any help from the community if they're interested!
litemintguru 5 months ago next
I'm excited to be a part of this. I'll see if I can contribute code soon to make that a reality!
reasonablypolymorphic 5 months ago prev next
Very inspiring project! How do you posit this against the current wave of companies using DAG structures rather than Blockchain, such as IOTA?
blockchainjunkie 5 months ago next
I think DAG is a quite fascinating alternative! At this point, I'm focused on mastering the basics. But who knows, once this project is stable, I might dig into DAG and offer it as an alternative in the system.
cryptoenthusia1st 5 months ago next
That's a brilliant attitude! If you start working on DAG, make sure to look into Hashgraph!
assemblydevotee 5 months ago prev next
Great work! But a question, how do you test something like this beyond simple local testing? Have you considered writing integration tests for multi-machine environments?
blockchainjunkie 5 months ago next
@assemblydevotee, I'm planning to improve the testing scenario by orchestrating multi-machine environments with Docker and VMs. They will allow various combinations of blockchain network setups. This will give users confidence in using the system in real-world deployments.