-
sech1
552452 KB yesterday, now 567816 KB. p2pool has a nunmber of preallocated buffers that can grow with time, so it's not 100% conclusive that there are leaks
-
Mysterion
hey
-
Mysterion
i'm pretty excited about the p2pool launch
-
Mysterion
I was just talking to a friend the other day about ways to make it so solo mining is actually worth it and then he found the reddit thread a couple days later
-
Inge
What was the reason this has not happened on BTC?
-
Mysterion
i'm not really sure
-
Inge
I think I saw some explanation for it, but can't remember what it was.
-
Inge
as it seems to be an excellent way to decentralize mining
-
Mysterion
it does, and there is a ton of potential for real-time web monetization if we can cut out the middle man (pools) now
-
Mysterion
like you could make users generate X number of hash per bytes of data transferred
-
Mysterion
and mine it directly to your p2pool
-
Mysterion
node
-
Mysterion
i don't think a lot of people realize how game changing this can be, especially if we find something to replace javascript miners and make it so hashpower can be used to replace payments
-
geonic
I think the short of it is that p2pool is best suited for coins that are not already dominated by ASICs… since any big ASIC miner will run their own pool anyway
-
Mysterion
that's a good point, I figured it had something to do with ASIC resistance
-
sech1
speaking of ASICs, remember Linzhi 1400 MH/s ETH miner? They promoted it a lot and went silent. Now it turns out, they decided to not sell it and are mining themselves...
-
sech1
This is the essence of ASIC mining.
-
sech1
yes, p2pool is best suited for small miners, so only CPU/GPU mined coins benefit from it
-
Mysterion
lol market started heating up so they decided to ride the wave
-
sech1
I updated the code to reduce log spam. Moved some most useless messages to log level 6 (log level 5 is default)
-
aypro
"BlockCache couldn't open p2pool.cache, error 5", the file is there
-
sech1
Windows?
-
aypro
yes
-
sech1
error 5 = access denied
-
sech1
do you have write access in that folder?
-
sech1
or maybe you're already running p2pool instance that opened this file
-
aypro
it was running fine, i just updated and ran it again
-
Mysterion
kill task
-
sech1
it's not a critical error, it can run without cache
-
sech1
My Windows node doesn't have this problem and I restart it a lot
-
aypro
seems good now, after a closed the terminal, maybe it was still running
-
CzarekNakamoto[m
Hey! If I understand this correctly - p2pool is a separate thing from monero, right? Like it doesn't affect the network as it is now? And I'm curious about one thing - if there will be a malicious p2pool binary, what's the worst thing it can do? Can it skip payment to all the miners and just take everything for themselves, while still mining in p2pool?
-
CzarekNakamoto[m
And what will happen if I won't reach `0.0005` XMR in the payout window? Because I'm quite sure that it will happen in case when everybody abandon pool mining and switch to p2pool
-
sech1
p2pool is separate, it doesn't require hardfork to work, but it will require point release of Monero
-
sech1
no, it can't skip payment to other miners because other nodes will not accept such block
-
sech1
if you don't have shares in the payout window, you will not be paid when p2pool finds a block. But when you eventually find 1 share and p2pool finds a block after that, you'll get paid 0.0005 XMR
-
sech1
so low hashrate miners will have payouts every few days, but it will be the "whole" 0.0005 XMR at once
-
sech1
assuming that p2pool grows to 30 MH/s or more
-
sech1
if p2pool is 100 MH/s with 10 seconds block time and you're a 500 h/s laptop miner, you'll be finding pool share every ~23 days and then get a 0.0005 XMR payout (maybe more than 1 if the pool is lucky)
-
sech1
this is like the worst case for a small miner, still much better than solo mining
-
sech1
the worst thing a malicious miner could do? Probably withholding mined Monero blocks (attacker still can't take the reward, only withhold it from everyone). This will hurt pool profitability, but it won't gain the attacker any profit
-
sech1
Monero blocks mined by attacker I mean
-
sech1
but the same attack can be done with regular pools
-
CzarekNakamoto[m
Ah cool, so that sounds like solo mining v2 to me
-
Inge
solo mining with closer to "pool like" payouts
-
selsta
Would it be accurate or inaccurate to say that RandomX uses less energy than ASICs? (Apart from the silicon waste)
-
selsta
-
sech1
in some sense yes
-
sech1
many of PCs mining Monero would otherwise be just idling and consuming power doing that
-
selsta
But similarly ASICs are more efficient in regards to hashes / watt.
-
Inge
hashes/watt is completely irrelevant
-
selsta
Why?
-
Inge
because it isn't interesting how many hashes you producs. What is interesting is how much energy is used to secure the chain
-
Inge
producs = produce
-
selsta
Yes, that's what I wrote in the linked comment.
-
selsta
But inside the same algorithm hashes / watt is relevant for energy efficiency.
-
Inge
except that it doesn't really matter, as the spent energy will increase until a new quilibrium of power cost vs block reward is reached
-
Inge
equilibrium*
-
moneromoooo
I might have found what's leaking: P2PServer failed to initiate tcp connection, error EMFILE
-
moneromoooo
Also: P2PServer failed to save peer list
-
moneromoooo
And it's not EIO/ENOSPC.
-
moneromoooo
Loads of shite in /proc/PID/fd, they're sockets. netstat does not show anything out of the ordinary.
-
sech1
good catch
-
moneromoooo
I'm still on the commit hash where you added the build documentation.
-
sech1
so you hit max open descriptors limit?
-
moneromoooo
That's what EMFILE says.
-
moneromoooo
ls /proc/PID|fd | wc -l says 1025, ulimit -n says 1024.
-
sech1
ls /proc/47710/fd | wc -l says 181 for me and it's been running non-stop for more than 24 hours
-
sech1
still, 181 is a bit high
-
sech1
I'll keep an eye on this number
-
moneromoooo
For the record, I have these changes too:
paste.debian.net/hidden/bce87af9
-
moneromoooo
I'll pull latest now and run with that, alright ?
-
sech1
it's better to get latest and run with --light-mode
-
moneromoooo
Unless you want me to run stats/commands ?
-
moneromoooo
I am also running with --light-mode.
-
sech1
I fixed a few thread races in latest
-
sech1
maybe leaks were because of them
-
moneromoooo
-
sech1
updated and restarted my node, now ls /proc/PID|fd | wc -l says 45
-
sech1
yes, it looks like this number grows every time I disconnect and reconnect to my node
-
hyc
so it's accumulating p2p sockets?
-
sech1
looks like it
-
sech1
I call uv_close() on them, not sure what's wrong
-
sech1
if I kill local xmrig, stratum disconnects it and I see the fd number go down by 1
-
sech1
stratum and p2p both use the same code
-
sech1
every time you see "peer ... disconnected" in the log, it's from uv_close() callback so it was successfull
-
moneromoooo
It's going up and I've not killed xmrig yet. It was 59 shortly after startup (started less than an hour ago), now at 97.
-
sech1
I think I found a workaround, but it's ugly
-
sech1
libuv doesn't close the socket in uv_close() callback for some reason, so I just kill it with
linux.die.net/man/3/close
-
moneromoooo
Maybe waiting for shutdown first.
-
sech1
doesn't work, p2pool crashes with this force close
-
sech1
so maybe it close it much later, after TCP timeout or something
-
sech1
*closes
-
sech1
moneromoooo can you try
paste.debian.net/hidden/b943586c ? It helped me
-
sech1
definitely works here, so I committed it
-
moneromoooo
Restarting still gets me the "not enough data to verify" spam.
-
moneromoooo
(I was running the version with the cache before the restart too)
-
sech1
I should probably rephrase that message
-
sech1
it means it can't verify the block right away and needs to download its parent/uncles
-
sech1
cache works through the same "download block from remote peer" code path, so you still get it
-
sech1
pushed it, now you'll have less spam at startup
-
sech1
running latest on my server now. For the reference: RES = 374456 KB, fd = 49
-
sech1
we'll see in a few hours
-
moneromoooo
Still slowly increasing.
-
moneromoooo
From 40 right after staring to 55 now.
-
sech1
51 here
-
sech1
these are probably legit sockets
-
moneromoooo
64
-
sech1
still 51
-
sech1
not sure what else can be done there
-
sech1
I see the number go down when I disconnect from the server
-
hyc
I just restarted with latest too, res 556M
-
sech1
I have fd = 62, went up a bit
-
sech1
lsof -p PID | grep TCP shows a few dangling sockets, not sure how they appeared
-
hyc
ugh I've got over 100 dangling sockets
-
hyc
lemme do another pull
-
sech1
your connection has been flaky the whole time
-
sech1
I still get lots of ECONNRESET from you
-
hyc
after restart right now I have just a bunch of ESTABLISHED conns, so nothing looks bad at the moment
-
sech1
so I got 3 more dangling sockets and the latest in the list is an established connection from your IP
-
sech1
number of open descriptors growing is probably related to it
-
hyc
this is what \I have right now
paste.debian.net/1209022
-
sech1
ok, I think I know the reason. It leaks after ECONNRESET
-
sech1
Now how to fix it...
-
hyc
btw, where is the block cache? I don't see a file/fd for it
-
sech1
p2pool 61235 monero mem REG 9,2 503316480 2493300 /home/monero/test/p2pool.cache
-
sech1
just do lsof -p PID
-
sech1
it's in the beginning
-
sech1
oh, you're on Mac
-
sech1
not implemented for Mac
-
hyc
ah ok
-
sech1
you can try mmap code for Linux to see if it works
-
hyc
will take a look, shouldn't be much different
-
sech1
pushed one more commit that will hopefully fix leaks after ECONNRESET
-
sech1
although I have no idea what I'm doing :D
-
hyc
ok, cache code built with no trouble
-
sech1
nice, so you can just adjust #ifdef there
-
hyc
yes
-
hyc
-#if defined(__linux__) || defined(__unix__) || defined(_POSIX_VERSION)
-
hyc
+#if defined(__linux__) || defined(__unix__) || defined(_POSIX_VERSION) || defined(__MACH__)
-
hyc
in block_cache.cpp and common.h
-
sech1
got a few dangling sockets, but now I see it's p2pool trying to connect to peers
-
hyc
want me to PR it or you want to toss it in yourself?
-
sech1
p2pool 63157 monero 38u IPv4 897611 0t0 TCP ... (SYN_SENT)
-
sech1
and then just p2pool 63157 monero 38u sock 0,9 0t0 897611 protocol: TCP
-
sech1
hyc I'll update myself, thanks!
-
hyc
cool
-
hyc
7 peers now. yay ;)
-
sech1
so dangling sockets are just SYN_SENT packets, it means they shouldn't grow in number
-
sech1
it depends on how long the system keeps such sockets. It might be very long
-
hyc
typical TCP timeot, 2*MSL
-
hyc
should be 2 minutes by default
-
hyc
so |I have one dangling now
-
hyc
p2pool 30072 hyc 53u IPv4 0x692d8611815b6841 0t0 TCP 192.168.1.214:51725->31.208.56.53:37888 (CLOSED)
-
sech1
I changed the code to send TCP RST packet instead of normal close when node shuts down
-
sech1
basically and TCPClient::close() call will send TCP RST
-
sech1
so you might get dangling socket after it
-
sech1
ahhh I think I know where it leaks. Socket that was in SYN_SENT state is not removed, which means failed connections (for whatever reason) are not cleared. Now I know where to fix
-
sech1
hmm, not always. Just saw SYN_SENT socket that later disappeared from the list, so it wasn't left dangling
-
hyc
and not all SYN_SENT are failures, some of them will eventually successfully open
-
sech1
I just need to try calling uv_close() when connect fails and check if sockets keep leaking or not
-
sech1
hyc moneromoooo found the leak:
SChernykh/p2pool 230d3e4
-
sech1
running it on both the server and my dev pc
-
sech1
all good so far, no dangling sockets
-
sech1
RES = 369604 KB, fd = 45
-
sech1
it was leaking handles on Windows too, now the handle count in Process Exporer doesn't increase too
-
sech1
hyc it's better to get latest, because I see a lot of ECONNRESET form you in the log. I reverted "force TCP close" hack because it's not needed anymore
-
sech1
Testnet height 1796161 will be RandomX epoch change, nodes should regenerate cache/dataset and check shares using cache in the meantime
-
sech1
in ~30 minutes
-
moneromoooo
PPLNS window = 2160 blocks (+111 uncles, 0 orphans)
-
moneromoooo
Your shares = 0 blocks (+0 uncles, 0 orphans)
-
moneromoooo
Next payout = 0.000919829079 XMR
-
moneromoooo
Is that expected to have a payout with no blocks on the share chain ?
-
moneromoooo
(I had xmrig down for a while)
-
moneromoooo
I did find a few shares since. Might be why.
-
moneromoooo
nvm.
-
sech1
next payout assumes that you will mine 1 share
-
sech1
maybe it's a bug if you're not mining at all, I need to fix that calculation
-
moneromoooo
I had started mining again a couple minutes before checking status.
-
sech1
ok, next block should be RandomX epoch change, watch your nodes
-
sech1
looks like it went smooth, dataset updated and it was checking shares all the time
-
aypro
i have a ECONNRESET error in the log every 2 seconds now
-
aypro
WARNING 2021-08-25 16:09:00.8806 P2PServer client: failed to read response, err = ECONNRESET
-
aypro
bad peer ?
-
sech1
it's hyc's node
-
sech1
he needs to update
-
aypro
doesn't p2pool give up after a number of tries ?
-
sech1
no, it's your node connecting to his and his node just force resets connection every time
-
aypro
is there a way i can ban his node on my end ?
-
hyc
ok will update
-
moneromoooo
The fd leak seems fixed here too.
-
hyc
sech1: this commit is broken. d246ee155231ac85337faa4d32fb71e03df10828
-
hyc
as I said above you also need to fix the ifdef in common.h
-
sech1
oh right
-
sech1
fixed
-
sech1
fd = 45, rock solid with latest code
-
sech1
leak is fixed
-
hyc
I thought my miner was paused but it was running the whole time. oh well, p2pool is caught up now\
-
sech1
RandomX epoch change, running nodes handled it fine
-
hyc
good
-
sech1
I restarted my node right after the change, and it failed to sync - "can't calculate PoW" or something
-
sech1
it worked after several restarts
-
hyc
that sounds annoying
-
sech1
It synced to the previous epoch block faster than it could calculate 2 RandomX caches
-
sech1
It's probably safer to let RandomX initialize fully before starting sync
-
hyc
yeah
-
sech1
actually the problem is only with "old" RandomX cache which doesn't have time to initialize. I run it asynchronously and p2pserver starts syncing before it finishes
-
sech1
I can just run in synchronously and that's it
-
sech1
yes, it was an easy fix
-
sech1
fd = 45 still, 0 leaks so far
-
garth
The p2pool splits the blockreward into multiple outputs? Am I reading this correctly? I thought only one output was allowed per coinbase
-
sech1
no, outputs are unlimited in coinbase
-
sech1
-
garth
So does this mean you can build massive blocks by having amazing reward distributed among 100,000 people?
-
garth
*mining reward, not amazing reward
-
garth
Also, that blockreward has a tx_extra. Does p2pool rely on tx_extra?
-
garth
Or have we simply standardized tx_extra so that it is always on?
-
moneromoooo
If you go over the median block size, you start decreasing the miner reward.
-
garth
Right forgot thanks mooo
-
moneromoooo
Monero also rejects a block that's more than twice the median block size.
-
garth
Right, yes, didn’t mean to get this into a discussion about blocksize.
-
sech1
tx_extra is used to store p2pool block hash
-
garth
Oh interesting. So this may also end the discussion about removing tx_extra then
-
garth
Or at least affect it
-
sech1
the discussion was about regular transactions, not coinbase
-
garth
I can help see if p2pool successfully builds on an intel MacBook, Debian, or Fedora later today if that would be of help
-
garth
Sech1 oh right fair enough
-
moneromoooo
What block hash in "tx_extra is used to store p2pool block hash" ?
-
sech1
sidechain block hash, it's stored in merge mining tag
-
sech1
-
sech1
block hash stored is 40cdf18a1fe322530c393a41c338ad3ac767bababd01700d81df02d1b5aeb85d
-
sech1
you can grep it in the log
-
moneromoooo
Oh, the hash of the *previous* block on the share chain ?
-
sech1
no, it's the hash of the side chain block that was merge mined with this Monero block
-
sech1
you can read the big comment in pool_block.h, I don't know how to explain better
-
sech1
sidechain block's keccak hash is used as this block id, this keccak hash is just stored in the "Monero" part of the block
-
sech1
this is how it ends up on Monero blockchain
-
sech1
changing any byte in Monero block template or in sidechain data will change the hash and also Monero PoW hash because it's part of the coinbase tx
-
sech1
I didn't know how to better solve this problem - it must be impossible to change sidechain data without changing PoW hash, and PoW hash by definition must be Monero's PoW
-
moneromoooo
OK, the nonce being zeroed makes this make more sense :
-
moneromoooo
So does this make it incompatible with merge mining ?
-
moneromoooo
(I actually use merge mining)
-
sech1
incompatible how? It is merge mining
-
moneromoooo
Hmm, OK. I guess it must be since it has an extra chain...
-
hyc
does this mean p2pool plus towforget merge mining will override each other?
-
hyc
townforge&
-
sech1
they shouldn't
-
sech1
as long as hashes both chains that hashes in the merge mining tag belong to them
-
sech1
*as long as both chains that hashes in the merge mining tag belong to them
-
sech1
damn, I need to take a break :D
-
hyc
heh
-
sech1
when you see merge mining tag, don't just assume it's your chain, check that the hash belongs to it first
-
sech1
btw, submitting external p2pool blocks with enough PoW to monerod works fine
-
sech1
It reduces latency between p2pool and Monero block ZMQ update from 0.1 to 0.03 seconds on my machine
-
hyc
yeah, didn't think it'd be a problem. would've been too obvious as a DDOS
-
sech1
even better, only 13 ms latency:
paste.debian.net/hidden/e798ce2c
-
sech1
probably because of slow PoW check on monerod side
-
sech1
btw the last line in this paste is exactly what I was talking about. p2pool checks the hash and tries to search for it
-
sech1
is there any way to make monerod use dataset to check new block PoW?
-
hyc
yes, but it only allocates dataset if you activate its miner
-
sech1
hmm, and then it uses also to check new blocks?
-
hyc
yes
-
sech1
nice
-
sech1
1 solo mining thread won't hurt
-
hyc
doubles hugepage requirement
-
sech1
add xmrig to that :D
-
sech1
My server has been running without tcp socket leaks for several hours, I guess it's really fixed
-
hyc
mine looks fine too
-
moneromoooo
If p2pool just puts the hash of its block template/data in the MM tag, it'll conflict. If it puts the merkle root of the MM hashes, it should be compatible.
-
moneromoooo
I don't see tre_branch/tree_path used in the source, so it's likely it doesn't put the merkle root.
-
sech1
what merkle root? There are not transactions on sidechain
-
sech1
*no transactions
-
moneromoooo
Merkle root of merge mined blocks.
-
sech1
I need a bit more detailed description
-
moneromoooo
You have two chains A and B merge mining with Monero. A creates a block template with hash HA, B another with HB. The MM tag doesn't get HA nor HB, but the merkle root of the merkle tree with HA and HB in it.
-
sech1
But I have 1 chain
-
moneromoooo
My MM proxy in TF does this automagically (I made this to be compatible with tari).
-
moneromoooo
Yes, that's the point :)
-
sech1
I think I get what you mean
-
Mysterion
I'm not nearly as technical as you guys, but I'm kindof curious what kind of replacements are feasible for javascript mining? Would it be possible to mine to a p2pool node via a firefox/chrome plugin?
-
sech1
1 Monero block can be on a block on 2 different merge mined chains?
-
moneromoooo
If you use the merkle tree system, yes.
-
moneromoooo
If you don't, the two chains are incompatible for merge mining.
-
sech1
But then p2pool will need to be aware of those other chains
-
moneromoooo
tbh the details are... a bit complicated.
-
moneromoooo
It would have to be aware of multiple chain-icity, not any particlar chain.
-
moneromoooo
Like, my MM proxy *should* work with Tari, but doesn't know tari at all.
-
sech1
Mysterion p2pool node is the same as a regular pool to the regular miners (xmrig)
-
moneromoooo
But I've only tested it with two TF chains.
-
Mysterion
yeah I just know javascript mining has pretty much been kneecapped over the last couple years, I'm just wondering if there are any alternative solutions to make it viable again via in browser mining
-
sech1
Not with RandomX
-
Mysterion
i've been out of the mining scene for a couple years, I don't really know much about RandomX
-
moneromoooo
There is
repo.getmonero.org/selene/primo, which can be used to mine with a browser.
-
moneromoooo
The actual mining's done by a non-js process though, just controlled by a browser plugin.
-
Mysterion
I actually did see primo, it looks promising
-
moneromoooo
This fixes the "website stuffs js without hte user's knowledge" problem too.
-
moneromoooo
Because screw running any random site's code.
-
sech1
I still don't get why would 2 different merge mined chains care about each other
-
moneromoooo
p2pool expects its block template hash in the MM tag, right ?
-
sech1
yes
-
moneromoooo
There is one MM tag. I guess it might work if there's one MM tag per chain... Though it would increase the Monero block size.
-
Mysterion
yeah I like a more transparent solution, I don't necessarily want site ops to have to be shady about mining, best to be up front about it as if you were requiring a payment to get behind a paywall
-
moneromoooo
If there's several, I guess they don't need to. But if there's a single MM tag, one chain is not going to find its block hash in there.
-
sech1
why? It will find its hash because it was mined by it
-
moneromoooo
What is "it" in this sentence ? p2pool ?
-
Mysterion
something like client generates X number of shares and then they get an access token that's available for X amount of seconds/minutes/hours/days or maybe it could be valid for X amount of bytes, just depends on how the site operator wants to configure it
-
sech1
p2pool
-
hyc
only one subchain will find any given block\
-
sech1
p2pool will find the hash in blocks mined by p2pool
-
moneromoooo
Then yes, p2pool will find its block hash. The other chain will not.
-
hyc
so they don't have to care about the existence of other mergers
-
moneromoooo
If you place a merle root, both chains will find theirs.
-
moneromoooo
Or all three etc.
-
sech1
If I place merkle root, I need to somehow find other chains' hashes before looking for my own
-
sech1
that's more unnecessary complexity
-
moneromoooo
Primo does that. You mine ahead of time to generate N credits, then you spend them to access various pages/features/etc.
-
moneromoooo
For my particular case (and AFAIK tari's similar), you don't point xmrig to monerod, but to the MM proxy, whch does the magic.
-
moneromoooo
Similar for you actually, you mine to the p2pool proxy.
-
Mysterion
there's gonna be some really cool stuff possible when you combine p2pool and primo
-
moneromoooo
So you'd have a chain of proxies. There's a new RPC in monerod I added a while bakc to help with that.
-
moneromoooo
Anyway, I'm not asking you to do that. I hope you might consider doing it but I certainly won't push :D
-
Mysterion
It'd also be possible to integrate it into the ZeroNet protocol so peers could automatically pay eachother in shares to seed sites to eachother
-
sech1
I need to first understand it :D
-
moneromoooo
Let me try to remember how it actually wors...
-
sech1
sooo my wild speculation: you mine with xmrig and point it to MM proxy, you put merkle hash into the block template and proxy can submit found shares to multiple chains, right?
-
sech1
depending on the difficulty of share
-
moneromoooo
The proxy receives a getblocktemplate notification. It forwards it monerod (or the next proxy). It gets it. It adds its block template hash to the response and forwards the response back.
-
moneromoooo
Yes.
-
sech1
so you main with xmrig to all the chains at the same time
-
sech1
hmm, interesting
-
sech1
well, the easiest thing would be to not use merge mining tag (for now)
-
moneromoooo
If the getblocktemplate comes back with a MM tag in its response already, the MM proxy adds its tag and does merkle magic and reutrns that instead.
-
» moneromoooo clearly doesn't remember all details, goes to check the source
-
sech1
p2pool would use some different tag in tx_extra for own block hashes and some time later would also put merge mining tag, right?
-
moneromoooo
Well, ideally it'd be better if you played along with the others, so all hash rate could accumulate.
-
moneromoooo
Without adding more data in the monero block. I guess 33 bytes isn't that large but still.
-
sech1
"more hash rate would accumulate" that would probably break p2pool reward calculation...
-
sech1
if other chains don't know about p2pool, they wouldn't notify p2pool nodes about their hashrate
-
Mysterion
that's right, looking at the Primo page I remembered what my concern was with it...it requires Apache. I guess everything has to start somewhere, but that'll be a problem eventually
-
moneromoooo
Any server can use primo. Only apache has a plugin, but you could have one for tor, bittorrent, whatever else.
-
Mysterion
I see
-
moneromoooo
The only problem being "is it a good idea".
-
Mysterion
I think so
-
moneromoooo
Any service that requires payment for service can be patched to squawk primo.
-
Mysterion
it may not be the proper implementation but the concept is definitely something worth trying to perfect IMO
-
moneromoooo
-
moneromoooo
I can't find the namecoin doc I used, but this has the rough idea.
-
Mysterion
we're essentially creating a way for people to use electricity as currency
-
Mysterion
kinda crazy when you think about it
-
moneromoooo
-
moneromoooo
It's a big chunk to swallow, but the interesting parts are:
-
moneromoooo
add_add_aux_pow, on_get_block_template
-
moneromoooo
Those will alter the block template to place the merkle root of all MM chains so far in the MM tag.
-
moneromoooo
I feel like I forgot how this works -_-