Comments (4)
Any chance of this being done by Friday?
from sia.
This would be fairly trivial to implement. The current maxMsgLen
is 16MB, but could be lowered to 1MB. I don't think there any other messages that would exceed that size. Alternatively, we could modify AcceptBlock
to reject large blocks -- but you'd still need to download the entire block (up to 16MB currently) before rejecting it.
I would suggest lowering maxMsgLen
and adding the arbitrary data check to AcceptBlock
. The one gap I see here is that it doesn't prevent you from accepting blocks larger than 1MB.
from sia.
Yeah I should add something to the consensus package that's aware of maximum sizes. Especially b/c eventually we'll probably be doing some form of compression on our messages. Even 10% size reduction is worthwhile. But the consensus stuff needs to be in perfect agreement about what's acceptable in a block, which means no compression (or at least very strict compression, which is annoying)
from sia.
yeah, that definitely adds another wrinkle. It'd be easy to make a "1MB" block message that's actually a massive zip bomb.
However, my anti-compression stance has softened a bit. It would actually be really easy to do in Go, thanks to the io.Reader
and io.Writer
interfaces:
_, err := encoding.WriteObject(conn, arg)
err := encoding.ReadObject(conn, resp, maxMsgLen)
// becomes:
_, err := encoding.WriteObject(gzip.NewWriter(conn), arg)
err := encoding.ReadObject(gzip.NewReader(conn), resp, maxMsgLen)
NewWriter
wraps conn
, such that calling Write
will write compressed data to conn
. Likewise, calling Read
on NewReader(conn)
will read decompressed data.
This probably isn't as easy in other languages though, especially C.
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.