Watching zcash mine, a timelapse


#1

This is zcash testnet being mined, sped up 60x for dramatic effect.
Make it fullscreen, sit back, and imagine this being realtime and real net :slight_smile:

You'd expect that looking at it for real would be like watching paint dry, but it is oddly mesmerizing.
With the equihash being so slow, you can see every hash produced by every node in the pool slowly coming in.
Tick, tick-tick, tick, the fans whirring.

Another observation that is made apparent in timelapse is how a new block derails the computation - each time one comes in, every node have to restart, and there is a 20-30 second pause with nothing happening.


#2

Pretty cool! Which Linux distro are you using, what font is being used and what screen recording software did you use? Thanks!


#3

Joining the question.
How are you getting all that info? All the info i can get while mining is only when I send listtransactions and getinfo.

How is a screen like that possible?

thanks :slight_smile:


#4

This is your miner? Pretty cool, like it!! Feels like the matrix :sunglasses:


#5

Arch Linux.
Not a clue - i'm font-blind. My guess is that it's some default one.

Recorded with "while true; do scrot -z & sleep 2; done"
Once done, "ffmpeg -framerate 30 -start_number 2290 -i img/scrot_%05d.png -c:v libx264 -x264opts opencl -r 30 -vframes 12240 -pix_fmt yuv420p mining.mp4"

It's called "tmux" - a split-screen "screen" clone.

On the right is my mining pool control server, on the upper left is the debug output of my miner on one of the nodes, on the lower left is a script that polls RPCs like getinfo, listunspent and so on every so often and reformat it into human-readable form.

Yep.
Stats are on the lower left - a block per hour with average difficulty of 70.
On the right, the hash rates are shown every now and then, between 0.3 and 0.4 H/s, counter resets every 10 minutes.


#6

Mining pool control center, Does this mean I can set-up 3-4 computers that will mine zcsah and use one different computer to monitor them?


#7

More or less.
I got one computer with zcashd on it that runs the server, and a dozen computers that run nothing but the miner, doing hashes on server's data and sending the solutions back.

It's about twice as efficient as running zcashd on each machine separately.


#8

Could you pleease elaborate how you linked up the Server PC to the mining nodes? And how the Server feeds the information to the nodes?

I've got a few PC's that I want to run, but it is kind of a pain to start and run each individually.


#9

Over the network. TCP/IP 101. :slight_smile:

The server gets the output of getblocktemplate from zcashd, forms a block, then sends it's header to every node, each with it's own nonce value.

The nodes keep a live connection to the server when they start, and wait for data.
Once data is received, they start computing, then send solutions back.
If new data is received mid-computation, it is aborted and started anew with the new data, thus avoiding wasting time on stale blocks.

The server looks for a new block every 5 seconds, and keeps a list of nodes and their states (to know which ones are free and which are computing). On receiving a solution, it computes the SHA256, and if it fits the target, sends the block to the zcashd over submitblock RPC. Otherwise, it either waits for the next solution, or sends a new block header over.

That's the overview.


#10

How do you run a miner without running zcashd? Do you instead mean that you run miners with "zcashd -daemon" and the server with "zcashd -server"?


#11

I wrote a standalone miner, which communicates over TCP with a control server that communicates over RPC with zcashd.


#12

@artlav I cannot wait to test your miner and be part of the matrix lol

Well, if you plan to make it public of course, it's up to you


#13

Hey, do you know the awesome linux terminal terminator? Looks like someting that could work out for you, heh.

Edit0. Like I'm blind, you are already using tmux. Also +1 for ArchLinux.

Edit1. Would it be hard for you to release a benchmarking tool for systems (not a miner)? https://forum.zcashcommunity.com/t/how-to-mining-benchmark-a-system-not-single-core/1992/1 --- I am in the process of preparing some hardware, but I need numbers to measure feasibility. Thanks


#14

Is there any particular requirement on CPU? Will a q8400 Core2quad be enough? or Hyperthreading Technology is a prerequisite for this coin? Pls let me know. Thanks in advance.

I like the emulator on the video. Any guide for a newbie?


#15

@Artlav how do you run that emulator? looks nice.


#16

Is the standalone miner using Stratum (or a similar protocol).
Is the standalone miner responsible for putting together blocks or is that what the "control server" you mentioned above responsible for. Did you write that control server yourself?


#17

Indeed very mesmerising. A pleasure to watch. Looking forward to the next season.