Comments (6)
I guess I also don't know where CatchUp would go. And bootstrapping. Does that get it's own file? Does it go in genesis.go? Do we merge genesis.go and bootstrap.go into a single file named 'synchronizingwiththenetwork.go'?
Also it feels like encoding.go, signatures.go, hash.go, erasure.go all really don't belong in this package. Seems like they more belong as libraries.
Also don't know where the proof of storage stuff would go. In hash.go? In it's own file? Does it join a library with the rest of the files? Also, each of those files should probably be in a separate library, instead of all being in one larger library.
from sia.
Are the dividers supposed to indicate separate packages, or what?
My thoughts:
- erasure.go should live alongside the client code. It's purely a layer on top of the actual protocol.
- I support merging genesis and bootstrap into synchronize.go. CatchUp goes here.
- Definitely support splitting verify.go into txns, blocks, contracts.
- It feels a bit silly to have separate packages for encoding, hash, etc. when they're only one file. But perhaps they'll grow, or we'll have an excuse to separate them into multiple files. So I'm okay with it.
- Proof of storage is tricky. I think it either belongs in its own file, or with contracts.go if it isn't too long already.
- The network code is kind of intermingled with the State code right now. I'd like to untangle them, maybe by creating a
Client
type that contains both, or something similar. This would mean synchronize.go belongs with the client, not the protocol.
from sia.
Just ran make test
and found out I broke sia_test.go by not initializing the State's TCPServer. Definitely leaning towards separating them.
from sia.
proof of storage I feel would go in the same package as the merkle tree stuff. So hash.go in the monolithic model.
from sia.
Should network be its own package?
from sia.
yes. I guess you could shove it all into the client, but I don't think that makes a lot of sense. It forces any client author to write all the network code too.
from sia.
Related Issues (20)
- localhost:9980/consensus HOT 3
- how to launch SIA daemon using SiaJs?
- A critical error loading Sia has occured: Siad unexpectedly exited. Error log: Sia Daemon v1.3.3
- Can't use wallet with SiaCoins - Siad has exited unexpectedly.
- A critical error loading Sia has occured: Siad unexpectedly exited. "are you running another instance of siad?" HOT 1
- Crash upon non bootstrapped blockchain download
- 'A critical error loading Sia has occurred: Siad unexpectedly exited.'
- ./siac wallet transactions method issue HOT 1
- Siad has exited unexpectedly. Please submit a bug report including the error log here.
- How to run ./siad daemon on testnet ?
- Changehero_get listed at the list of exchanges
- siad loading transaction pool HOT 2
- Siad has exited unexpectedly. Please submit a bug report including the error log here. HOT 3
- BUG REPORT Sia Daemon v1.3.3 Git Revision 94ea84e Loading... (0/6) Loading siad... (1/6) Loading gateway... (2/6) Loading consensus... (3/6) Loading transaction pool... (4/6) Loading wallet... (5/6) Loading host... (6/6) Loading renter... Finished loading in 1.6310935 seconds
- error while loading the WAL at startup: failed to recover WAL: walFile metadata mismatch
- siad.exe error
- you 1.3 update locked my wallet and the password i used before does not work. you are to send me a way to unlock may wallet and no I am not redownloading anything else!!!!
- typographic error "shudown"
- WAL file is still present after clean shutdown/ causes WARN messages in log
- the password I created does not work and the long list of encryption words does not work. my walet is locked. I have been running JSE miner for days and have nowhere to put my coins. I had faith in JSE as like a cround floor botcoin, then you locked my wallet and screwed me. Thank God I had put no coins in it. YOU WILL PROVIDE ME A WAY TP UNLOCK MY WALLET OR I WILL ERASE JSE AND AGREE WITH MANY EXPERTS THAT SAY CYBERCURRENY IF JUST ANOTHER FIAT CURRENCY AS USELESS AS THE U.S. DOLLAR WITH NOT BACKING OTHER THAN THE FAITH FOOLS LIKE ME PUT IN IT! I do not want instructions to redowload this or that. I did everything you told me to do. You JSE Siacoin wil fix my wallet.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sia.