2018-06-06 00:01:48
bazel clean
Fireduck
2018-06-06 00:02:04
Shouldn't make a difference but I'd try that
Fireduck
2018-06-06 00:02:51
tried that before, only shackleton craps up - ah well, do not need to build that anyway
Rotonen
2018-06-06 00:03:29
Might have been broken since the big reorg
Fireduck
2018-06-06 00:03:53
it was broken on master yesterday, i only tried to build as the new tag landed
Rotonen
2018-06-06 00:04:30
additionally you should provide 1) checksums for downloads 2) sign your distributables
Rotonen
2018-06-06 00:07:09
Yeah, you are right
Fireduck
2018-06-06 02:32:06
@quantumblockz has joined the channel
quantumblockz
2018-06-06 04:27:31
ok, I am going to code up a mining pool
Fireduck
2018-06-06 04:31:06
sweet
Clueless
2018-06-06 05:45:30
*https://github.com/snowblossomcoin/snowblossom/compare/ad929aed2fc4...8ede8f5b3cdf*
https://github.com/snowblossomcoin/snowblossom/commit/8ede8f5b3cdf6f0d6e592e4d29cab5a699c8a5ee - Groundwork for mining pool
GitHub
2018-06-06 05:45:56
*https://github.com/snowblossomcoin/snowblossom/compare/8ede8f5b3cdf...23072491106f*
https://github.com/snowblossomcoin/snowblossom/commit/23072491106f50f67969147c1ae2acfe4182b9c0 - Groundwork for mining pool
GitHub
2018-06-06 06:08:09
[snowblossomcoin/snowblossom] Issue opened by guanlei1996
GitHub
2018-06-06 06:11:38
[snowblossomcoin/snowblossom] Issue closed by cluelessperson
GitHub
2018-06-06 06:23:04
[snowblossomcoin/snowblossom] Issue closed by cluelessperson
GitHub
2018-06-06 10:03:00
@Nuse has joined the channel
Nuse
2018-06-06 15:47:45
Going to make simple PPLNS mining pool
Fireduck
2018-06-06 15:47:51
Hopefully today
Fireduck
2018-06-06 15:48:19
Going to have it expose some metrics to the explorer
Fireduck
2018-06-06 15:48:48
Did some plumbing for it last night
Fireduck
2018-06-06 18:28:45
I am making the pool protocol now. The question is, do I make the miner build the merkle proof to send back to the mining pool? This code is odd and if someone wants to write a miner in another language it will be a hassle.
Fireduck
2018-06-06 18:29:04
Or do I have the mining pool need the snow fields and check the work itself and build the proof if needed for a block
Fireduck
2018-06-06 18:29:34
I guess the problem there is then the mining pool needs all fields that could be in use since a miner could use any field they have that is at least the current required
Fireduck
2018-06-06 18:35:04
yeah, that settles it. mining pool can't be required to have all known fields on hand
Fireduck
2018-06-06 18:35:58
why not?
Tyler Boone
2018-06-06 18:36:19
not like we need to enable every nerd with a laptop to run a pool
Tyler Boone
2018-06-06 18:37:45
sure, but even with just what we have now that is 4tb
Fireduck
2018-06-06 18:37:58
and as soon as I have the ssd to do it, I'm going to build the next file
Fireduck
2018-06-06 18:38:03
so 8tb total
Fireduck
2018-06-06 18:38:06
that is a bit much
Fireduck
2018-06-06 18:38:49
the pool doesn't need all that exist (which is technically infinit)
Tyler Boone
2018-06-06 18:38:51
infinite
Tyler Boone
2018-06-06 18:38:58
just all that we've gotten to
Tyler Boone
2018-06-06 18:39:56
a miner may use a higher field if they want
Fireduck
2018-06-06 18:40:06
so kinda gotta be ready for anything
Fireduck
2018-06-06 18:40:21
I guess a pool could just reject it saying "no, that is dumb"
Fireduck
2018-06-06 18:42:33
correct
Tyler Boone
2018-06-06 18:43:09
any other advantages either way?
Tyler Boone
2018-06-06 18:43:37
not sending the proof over the network saves a little bandwidth
Fireduck
2018-06-06 18:43:39
but not much
Fireduck
2018-06-06 18:43:42
bah
Tyler Boone
2018-06-06 18:43:59
not sending the proof makes it easier to DoS a mining pool
Fireduck
2018-06-06 18:44:11
I was thinking about that myself
Tyler Boone
2018-06-06 18:46:18
the cost of calculating the proof is probably less than the cost of accepting the network traffic with the fake block
Tyler Boone
2018-06-06 18:46:58
negative. calculating the proof requires a good chunk of reading into the snow fields
Fireduck
2018-06-06 18:47:30
which a miner can do to the tune of thousands (or tens of thousands) of times a second
Tyler Boone
2018-06-06 18:47:41
And the fake submit from a miner would only be 30 bytes or so, yeah
Fireduck
2018-06-06 18:47:49
validating a proof is in memory and fast
Fireduck
2018-06-06 18:53:14
*https://github.com/snowblossomcoin/snowblossom/compare/23072491106f...6113c52539e7*
https://github.com/snowblossomcoin/snowblossom/commit/6113c52539e71f5d588e06560f25f88ce391a984 - Mining protocol
GitHub
2018-06-06 18:53:22
there is my proposed mining protocol
Fireduck
2018-06-06 18:58:16
It is good software engineering to just copy a class and change what you want right?
Fireduck
2018-06-06 19:49:00
*https://github.com/snowblossomcoin/snowblossom/compare/6113c52539e7...66aa3941466f*
https://github.com/snowblossomcoin/snowblossom/commit/66aa3941466fbfd7d0b59aa64e5419bc9f809587 - on windows starting miners with low priority. also increasing heap in memory miner
GitHub
2018-06-06 19:50:14
@Fireduck, any thought to making the mining pool use json RPC or something to make it easier to integrate other languages?
Tyler Boone
2018-06-06 19:50:56
Yeah. Going to do grpc just so I can get this running but plan on opening a json Rpc port as well
Fireduck
2018-06-06 20:17:17
actually, that makes me think... probably the node is really the only thing that needs to be tied to the protocol buffers
Tyler Boone
2018-06-06 20:17:59
or even if the client and miner do use protocol buffers, they could take binaries drops and have a separate compile...
Tyler Boone
2018-06-06 20:18:29
might make tooling work better for things like debugging.
Tyler Boone
2018-06-06 20:21:10
Can make json interfaces for whatever
Fireduck
2018-06-06 20:50:40
```
snowblossom@vmsnow1:/var/snowblossom$ source/snowblossom/bazel-bin/SnowBlossomClient configs/client-mainnet.conf send m0seqg6sxzvmyaynrq794zw64m4wcxhw5ljvaw3u 50
Exception in thread "main" java.lang.NumberFormatException: For input string: "m0seqg6sxzvmyaynrq794zw64m4wcxhw5ljvaw3u"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at snowblossom.client.SnowBlossomClient.main(SnowBlossomClient.java:58)
```
Ah. send <amount> <address>
Clueless
2018-06-06 20:53:20
you can open a bug to print usage if there is an error
Tyler Boone
2018-06-06 20:57:09
```
snowblossom@vmsnow1:/var/snowblossom$ source/snowblossom/bazel-bin/SnowBlossomClient configs/client-mainnet.conf send m0seqg6sxzvmyaynrq794zw64m4wcxhw5ljvaw3u 50
Exception in thread "main" java.lang.NumberFormatException: For input string: "m0seqg6sxzvmyaynrq794zw64m4wcxhw5ljvaw3u"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at snowblossom.client.SnowBlossomClient.main(SnowBlossomClient.java:58)
```
GitHub
2018-06-06 20:57:33
thanks
Tyler Boone
2018-06-06 21:38:42
@Fireduck i'll gladly host a pool - i suppose multiple pools should go online at about the same time
Rotonen
2018-06-06 21:38:59
yep
Fireduck
2018-06-06 21:45:25
That's 3 so far. :stuck_out_tongue:
Clueless
2018-06-06 21:50:38
*https://github.com/snowblossomcoin/snowblossom/compare/66aa3941466f...3e1d2d331acd*
https://github.com/snowblossomcoin/snowblossom/commit/0caed1307a3954c2e53aa609edee87ae51939a78 - Pool miner pass 1
https://github.com/snowblossomcoin/snowblossom/commit/3e1d2d331acd45fc1ac4e78b7f7e807fb4b145b3
GitHub
2018-06-06 22:05:17
Look upon PoolMiner.java and weep
Fireduck
2018-06-06 22:05:25
What should I call the mining pool?
Fireduck
2018-06-06 22:05:47
snowplow
Tyler Boone
2018-06-06 22:06:14
snowpile
Tyler Boone
2018-06-06 22:06:23
hahah
Fireduck
2018-06-06 22:08:29
MrPlow
Fireduck
2018-06-06 22:08:53
The fun is, cp SnowBlossomMiner.java PoolMiner.java. Edit PoolMiner.
Fireduck
2018-06-06 22:09:07
cp SnowBlossomMiner.java MrPlow.java. Edit MrPlow
Fireduck
2018-06-06 22:09:15
There is so much fucked up code overlap
Fireduck
2018-06-06 22:09:22
but not enough to sensibly combine much
Fireduck
2018-06-06 22:09:29
that's how you deliver things fast
Tyler Boone
2018-06-06 22:09:57
It breaks my rule. If you have three copies of the same code, it is time to refactor.
Fireduck
2018-06-06 22:09:59
two is fine
Fireduck
2018-06-06 22:23:13
we shouldn't have a "memory miner" and a "disk miner"
Tyler Boone
2018-06-06 22:23:31
we should just have a miner and an "allowed memory" such that it will store as much of the snowfield as it can
Tyler Boone
2018-06-06 22:23:44
yeah, I was thinking about that
Fireduck
2018-06-06 22:23:58
not an LRU because it would just thrash
Fireduck
2018-06-06 22:24:05
I was going to implement it once I couldn't mine in memory anymore
Tyler Boone
2018-06-06 22:24:05
but maybe fill in blocks up to the limit
Fireduck
2018-06-06 22:24:14
yeah, just load from beginning
Tyler Boone
2018-06-06 22:24:20
until full
Tyler Boone
2018-06-06 22:30:39
right
Fireduck
2018-06-06 22:30:49
and count on the hashing to evenly distribute load
Fireduck