Guys, could someone explain one thing for me?
If my understanding is right - new block contains ~1kb transactions data and this info should be hashed. Right?
Then, what if pool finds some good enough hash for new block - but there was another block discovered in network, which already contains some of our transactions. Would such block be invalid?
Or am I completely wrong here, and transactions are added only after new block hash is found?
A new block header contains a few things that are hashed:
A version, the hash of the previous block, the time, the nonce (a random number), the difficulty target and a hash of all the transactions you're including in that block (the merkle root.)
That header is then appended to the transaction data.
When a new block is found, the header elements and the transaction data change across the network. It is possible that someone else, somewhere else in the world, finds a block around the same time, and at that case only one of those blocks is valid. This rarely happens because pools use the FIBRE network.
This is why it takes 101 confirmations for coins to mature - if your block was found to be orphaned, because the other block had more blocks built on top of it, the pool would lose those coins.
Is there a discord for Kano's pool?
There's an IRC channel.