How many transactions in One Block? - Bitcoin Stack Exchange

Gridcoin "Fern" Release
Finally! After over ten months of development and testing, "Fern" has arrived! This is a whopper. 240 pull requests merged. Essentially a complete rewrite that was started with the scraper (the "neural net" rewrite) in "Denise" has now been completed. Practically the ENTIRE Gridcoin specific codebase resting on top of the vanilla Bitcoin/Peercoin/Blackcoin vanilla PoS code has been rewritten. This removes the team requirement at last (see below), although there are many other important improvements besides that.
Fern was a monumental undertaking. We had to encode all of the old rules active for the v10 block protocol in new code and ensure that the new code was 100% compatible. This had to be done in such a way as to clear out all of the old spaghetti and ring-fence it with tightly controlled class implementations. We then wrote an entirely new, simplified ruleset for research rewards and reengineered contracts (which includes beacon management, polls, and voting) using properly classed code. The fundamentals of Gridcoin with this release are now on a very sound and maintainable footing, and the developers believe the codebase as updated here will serve as the fundamental basis for Gridcoin's future roadmap.
We have been testing this for MONTHS on testnet in various stages. The v10 (legacy) compatibility code has been running on testnet continuously as it was developed to ensure compatibility with existing nodes. During the last few months, we have done two private testnet forks and then the full public testnet testing for v11 code (the new protocol which is what Fern implements). The developers have also been running non-staking "sentinel" nodes on mainnet with this code to verify that the consensus rules are problem-free for the legacy compatibility code on the broader mainnet. We believe this amount of testing is going to result in a smooth rollout.
Given the amount of changes in Fern, I am presenting TWO changelogs below. One is high level, which summarizes the most significant changes in the protocol. The second changelog is the detailed one in the usual format, and gives you an inkling of the size of this release.



Note that the protocol changes will not become active until we cross the hard-fork transition height to v11, which has been set at 2053000. Given current average block spacing, this should happen around October 4, about one month from now.
Note that to get all of the beacons in the network on the new protocol, we are requiring ALL beacons to be validated. A two week (14 day) grace period is provided by the code, starting at the time of the transition height, for people currently holding a beacon to validate the beacon and prevent it from expiring. That means that EVERY CRUNCHER must advertise and validate their beacon AFTER the v11 transition (around Oct 4th) and BEFORE October 18th (or more precisely, 14 days from the actual date of the v11 transition). If you do not advertise and validate your beacon by this time, your beacon will expire and you will stop earning research rewards until you advertise and validate a new beacon. This process has been made much easier by a brand new beacon "wizard" that helps manage beacon advertisements and renewals. Once a beacon has been validated and is a v11 protocol beacon, the normal 180 day expiration rules apply. Note, however, that the 180 day expiration on research rewards has been removed with the Fern update. This means that while your beacon might expire after 180 days, your earned research rewards will be retained and can be claimed by advertising a beacon with the same CPID and going through the validation process again. In other words, you do not lose any earned research rewards if you do not stake a block within 180 days and keep your beacon up-to-date.
The transition height is also when the team requirement will be relaxed for the network.


Besides the beacon wizard, there are a number of improvements to the GUI, including new UI transaction types (and icons) for staking the superblock, sidestake sends, beacon advertisement, voting, poll creation, and transactions with a message. The main screen has been revamped with a better summary section, and better status icons. Several changes under the hood have improved GUI performance. And finally, the diagnostics have been revamped.


The wallet sync speed has been DRASTICALLY improved. A decent machine with a good network connection should be able to sync the entire mainnet blockchain in less than 4 hours. A fast machine with a really fast network connection and a good SSD can do it in about 2.5 hours. One of our goals was to reduce or eliminate the reliance on snapshots for mainnet, and I think we have accomplished that goal with the new sync speed. We have also streamlined the in-memory structures for the blockchain which shaves some memory use.
There are so many goodies here it is hard to summarize them all.
I would like to thank all of the contributors to this release, but especially thank @cyrossignol, whose incredible contributions formed the backbone of this release. I would also like to pay special thanks to @barton2526, @caraka, and @Quezacoatl1, who tirelessly helped during the testing and polishing phase on testnet with testing and repeated builds for all architectures.
The developers are proud to present this release to the community and we believe this represents the starting point for a true renaissance for Gridcoin!

Summary Changelog



Most significantly, nodes calculate research rewards directly from the magnitudes in EACH superblock between stakes instead of using a two- or three- point average based on a CPID's current magnitude and the magnitude for the CPID when it last staked. For those long-timers in the community, this has been referred to as "Superblock Windows," and was first done in proof-of-concept form by @denravonska.







As a reminder:









Detailed Changelog

[] 2020-09-03, mandatory, "Fern"





submitted by jamescowens to gridcoin [link] [comments]

(Updated) [Staking] Reddcoin Core client GUI wallet on a Raspberry Pi Model 3B


This thread is an update to my first Reddcoin staking tutorial that was written 7 months ago.
The reason for the update
My Reddcoin Core software crashed and became unusable. My Raspberry Pi 3B would lag and freeze, I couldn't stake anymore.
Instead of just redoing everything the same way, I wanted to see if I could improve on 3 points:
The updates
If you would like to tip me
Writing a tutorial like this takes time and effort; tips are appreciated. My Reddcoin address: RqvdnNX5MTam855Y2Vudv7yVgtXdcYaQAW.





This video shows how long it takes to start Reddcoin Core.   TL;DR:


Backup your wallet to prevent losing the RDDs in your wallet! There are two methods to backup, do both. Make new backups if you create a new receiving address!
Boot with only 1 USB drive plugged in:
Make sure only the USB drive (with the swap partition and data partition) is plugged in when you boot up your Raspberry Pi. This to make sure the swap partition (/dev/sda1) is recognized correctly.   If you boot up with multiple USB drives, Lubuntu might see the USB drive with the swap partition as the second drive (instead of the first drive), and ignore the 2 GB swap partition. If this happens, starting Reddcoin can render the Raspberry Pi unresponsive.
Connection issues If you have issues syncing the blockchain because you have 0 network connections, please follow the instructions in this thread.
Start Reddcoin Core easier
Run a shell script (.sh file), so you can start Reddcoin just by double clicking on an icon on your Desktop.
Minimization options
Adjust minimization options, so you can safely press on the X button (the close/exit button on the upper right corner).
RealVNC VNC Viewer (client) and VNC Connect (server): To remote connect to the Raspberry Pi, I use VNC Viewer ad VNC Connect from RealVNC.
Chromium as browser: The updates break Firefox, the browser crashes when you try to run it. Install another browser, Chromium, to solve this issue.
Updates / Upgrades
If Software Updater shows up and tells you that there is updated software available, do not install the updates using Software Updater. Use LXTerminal to update Lubuntu.  


Credits in previous tutorial:
submitted by Yavuz_Selim to reddCoin [link] [comments]

Groestlcoin September 2019 Development Release/Update!

For a more interactive view of changes, click here
In our current world; bordering on financial chaos, with tariff wars, Brexit and hyperinflation rife, you can count on Groestlcoin to consistently produce innovation that strikes to take the power away from the few and into the many, even after a full five and a half years of solid development.
Here is what the team has already announced in the last 3 months since the last development update:

What's Being Released Today?

Groestl Nodes

What am I?

Groestl Nodes aims to map out and compare the status of the Groestlcoin mainnet and testnet networks. Even though these networks share the same protocol, there is currently no way to directly compare these coins in a single location. These statistics are essential to evaluate the relative health of both networks.


Source - Website

Groestlcoin Transaction Tool

What am I?

This is a tool for creating unsigned raw Groestlcoin transactions and also to verify existing transactions by entering in the transaction hex and converting this to a human-readable format to verify that a transaction is correct before it is signed.



Groestlcoin AGCore

What am I?

AGCore is an Android app designed to make it easier to run a Groestlcoin Core node on always-on Android appliances such as set-top boxes, Android TVs and repurposed tablets/phones. If you are a non-technical user of Groestlcoin and want an Android app that makes it easy to run a Groestlcoin Core node by acting as a wrapper, then AG Core is the right choice for you.

What's Changed?

Source - Download

Groestlcoin Electrum

What's Changed?

Android Electrum-Specific

OSXWindowsWindows StandaloneWindows PortableLinux - Android
Server SourceServer Installer SourceClient SourceIcon SourceLocale Source

Android Wallet – Including Android Wallet Testnet

What am I?

Android Wallet is a BIP-0032 compatible hierarchial deterministic Groestlcoin Wallet, allowing you to send and receive Groestlcoin via QR codes and URI links.

V7.11.1 Changes

Groestlcoin Java Library SourceSource - DownloadTestnet Download


What am I?

Groestlwallet is designed to protect you from malware, browser security holes, even physical theft. With AES hardware encryption, app sandboxing, keychain and code signatures, groestlwallet represents a significant security advance over web and desktop wallets, and other mobile platforms.
Simplicity is groestlwallet's core design principle. Because groestlwallet is "deterministic", your balance and entire transaction history can be restored from just your recovery phrase.

iOS 0.7.3 Changes

Android v89 Changes

iOS SourceAndroid Source - Android DownloadiOS Download

Groestlcoinomi Released

What am I?

Groestlcoinomi is a lightweight thin-client Groestlcoin wallet based on a client-server protocol.

Groestlcoinomi v1.1 Desktop Changes

Groestlcoinomi Android v1.6 Changes

Groestlcoin Java Library SourceAndroid Source
Android DownloadWindows DownloadMac OS DownloadLinux Download

Groestlcoin BIP39 Tool

What's Changed?

Source - Download
submitted by Yokomoko_Saleen to groestlcoin [link] [comments]

Run a 0.14 Full-Node on RaspberryPi3 Pruned(less than 16GB SD needed)

Happy if this guide helps you.
Tip if you want: 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v
UPDATE 04/06/17
Add 'uacomment=UASF-SegWit-BIP148' into your bitcoin.conf if you want to signal UASF.
UPDATE 03/13/17
ADDED a tl;dr; Version at the end of this Post.
UPDATE 03/12/17:
Just to test it - I reinstalled all on 8GB SD and it works as well. But maybe you should use at least 16GB for the beginning.
Using a 128GB card for the first version was a little bit stupid - so I reinstalled everything on a 8GB SD card. Including Linux and a pruned blockchain - and it works.
I used prune=550 and Jessie Lite (headless / command line) - without wallet and gui.
The SD is almost full, but it works so far
I also updated the whole manual a bit to make things more clear. Thank you for all your feedback!
Just started my Bitcoin Node today and wanted to share the way I did it with people who are interested in running their own full node. It took some time to write everything down - hopefully correct so far.
I am sure, many people around bitcoin are way more informed and educated as I am - I am the noob. So I wrote this manual to help users like me - noobs, to get started with a cheap, simple bitcoin node on raspberry pi.
Have fun!
I wanted to get my Raspberry Pi 3 working as a node to support the network. Actually the process of installing and running the node was more or less easy - but for Noobs (like I am) it might be a bit tricky to start the whole thing, because there are different ways.
Did you - like me - think you would need +120GB on the raspi, external USB HDD to be a full node? You won't!
If you have a Raspberry and you know what Bitcoin is, I guess, you are a little bit aware of linux, networks and of course bitcoin - so I won't go into detail too much.
This guide is just a little helper to get a full node running on your raspberry pi. Thanks to the help of the nice people in this sub and of course the documentation by the developers, I got it working - and of course also special thanks to - as I followed their tutorial to start - I went some other ways here and there - so please read carefully.
For the Part 2 I would suggest to have open and read through my manual.
I split the tutorial in 2 Parts - PART ONE is about installing the client on your PC and downloading the Blockchain.
PART TWO is about the setup of the raspberryPi and transferring the pruned blockchain to the pi and run it as a full node!
The first thing to be aware of is: You actually need to download the whole blockchain to get this working - if you already have your bitcoin client synced on the PC / MAC great you can reuse it!
Now you might think "but you said less than 16GB in the title!"
Yes, but the good thing is you won't need to download it on your Raspberry, neither you need to sync it completely on your raspberry which took ages (weeks!) before. When you finished this Guide, you will just have a max. 4GB Blockchain on your Raspberry Pi - but it still is a full node! The magic word is Pruning.
Maybe even a 8GB SD Card works just fine including Linux (jessie lite)!
So, if you already have a full node on your PC - Great you can almost skip PART ONE - BUT have at how to Prune in PART ONE if you don't know about it.
For PART TWO you'll need a Raspberry Pi 2 or 3 (I used 3) min. 8GB (works also) or better 16GB SD Card. (I used a 128GB for the first version of this manual - which is way too big)


This is the manual how to get started on you PC / MAC / Linux (I did it on Win7)
Go to: and download the core Client for your Machine (I used win64).
Install it and configure it to save the Blockchaindata to the directory of your choice - so instead getting 120GB on your C drive, I would suggest to download it to another place like a USB drive.
You can set this up during the install. Standard folder for the blockchain folder is "%APPDATA%\Bitcoin" on Windows.
or you can do it after the install by creating a bitcoin.conf file inside your installation folder / or %APPDATA%\Bitcoin and add
to the file. Line by line.
By the way here you could also just add dbcache - to use more memory to speed up the process a bit:
if you don't want to use the settings inside the program. (you can also set this inside the program under settings! If you have this inside the bitcoin.conf you will see the amount you set there from inside the program - it overrides the values)
You can check inside the windows client under settings, if you can see a manual dbcache is set by having a look at the left footer area. When your dbcache value shows up, everything is fine.
So the Blockchain download process will take time - maybe a few days! Depending on your machine, internet connection and HDD.
The Blockchain is huge as it contains every single transaction of the past until today. You won't need to keep your PC running all the time, you can turn it off and on and it will resync automatically when you start bitcoin-qt.exe!
Make sure to close the client always via "quit" - ctrl+q.
After you have your bitcoin core installed, the blockchain downloaded and synced - you are ready to PRUNE!
First - close the Client and let it close smoothly. After it is really closed you can follow these steps:
By pruning, your blockchain will dramatically shrink. From 120GB to just a few GB.
Be aware, that you will lose your Downloaded Blockchain as pruning will erase a big chunk of it! If you have enough space, you could of course keep the full blockchain saved somewhere on another HDD.
You can prune by editing your bitcoin.conf file by adding:
I used prune=1024 - not sure where the differences are right now (min. prune=550). (for my 8GB version I used 550! I suggest to use this.)
Save the bitcoind.conf file and restart your windows client.
It will now clean up the Blockchain. So just the latest blocks are saved. The client should start without any problems. Maybe it takes some time to prune the blockchain data.
Check if everything works normally (the client opens as usual, you can see an empty wallet) than close the client.
Inside the Bitcoin Folder, you'll find two folders called:
blocks chainstate
those are the interesting folders containing the important data (now pruned) - and we will transfer those two to the raspberry later!
Now you are good to start the raspi transfer explained in the next part.


Here is what I did:
1) I installed Raspian Pixel ( using a 128 GB SD - which is not needed because of "Pruning" - I think a 16GB card might work, too! (You can also install Raspian Jessie Lite - which saves you even more space, as it runs headless - only command line) (Updated: It is better to use Jessie Lite to save a lot of space - when you are fine with only command line)
2) I followed partly this tutorial to get everything running and setup:
Please have a look at it - I have copied the Headlines in capitals to let you know what I did, and what I skipped.
Set You RasPi up including "EDITING FILES" to save your Layout at the tutorial page and come back here.
I skipped the CONFIGURE USB AND SET AUTOMOUNT process, as we are going to use PRUNING to reduce the 120GB to a tiny filesize - so USB Devices are not needed here!
It was necessary to ENLARGE SWAP FILE to install bitcoin core - otherwise it didn't went through which ended in a frozen raspi.
So have a close look by following the raspnode tutorial at: ENLARGE SWAP FILE.
I have my raspi running via cable to router - but you can also WiFi setup everything described under NETWORKING ON THE RASPBERRY PI.
Now comes the interesting part: Follow the steps at DOWNLOADING BITCOIN CORE DEPENDENCIES - they work fine for 0.14.0 too. Git should be on Board already when you installed Pixel - otherwise you would need to install it.
sudo apt-get install git -y (only jessy lite)
I skipped the next command lines - as I don't use bitcoin-qt wallet. If you want to use it as wallet - do the step.
mkdir ~/bin cd ~bin
Now you are in the folder you want your bitcoin core data be downloaded to via git. I didn't Downloaded the Berkeley Database source code - so I also skipped the whole next command lines
[email protected]~/bin$ wget [email protected]~/bin$ tar -xzvf db-4.8.30.NC.tar.gz [email protected]~/bin$ cd db-4.8.30.NC/build_unix/ [email protected]~/bin/db-4.8.30.NC/build_unix$ ../dist/configure --enable-cxx [email protected]~/bin/db-4.8.30.NC/build_unix$ make -j4
and went on with "INSTALLING BITCOIN"!
I followed the first part but instead downloading 0.13 I took of course the latest version:0.14
git clone -b 0.14 cd bitcoin ./
this might take some time to start.
If you have trouble with hanging RESOLVING DELTAS - just restart the Raspberry Pi and remove the bitcoin folder inside /~bin using
rm -rf bitcoin
this command will delete the folder and you can reuse
git clone -b 0.14

For some reason RESOLVING DELTAS is a common problem with different downloads - so just retry it and at least after 3 times it should work!

as I didn't use the GUI/ Wallet, I ran
./configure --enable-upnp-default --disable-wallet
as I don't need the wallet functionality.
I didn't need to use "MAKE" which saves you maybe up to 2.5 hours.
instead you can just go ahead with:
sudo make install
(If I am wrong in doing so - please let me know)
The install takes some time - and just a heads up: when it gets stuck somewhere - just redo the installation process - it took three times to went through - stuck at some processing.
After the installation took place you can finally get your Raspberry Pi Node running in no time!
To test if the the installation went through - you can just start bitcoind using:
bitcoind &
than check if everything is working so far:
bitcoin-cli getinfo
after a few seconds you should see version: etc...
if not, something went wrong. Try to redo the steps in the raspnode tutorial.
(don't give up if it failed - retry! Ask your questions here)
IMPORTANT: you need to stop bitcoin on your raspberry now!
bitcoin-cli stop
If you don't need an external USB Drive - what I hope - as we are going to use pruning just go ahead and skip the USB part and create a file inside (or follow the raspnode tutorial on how to setup the USB drive):
cd .bitcoin
sudo nano bitcoin.conf
and enter the exact same pruning size you have used on your Desktop Machine to prune. I used 1024 but the minimum is 550. (used 550 for the 8GB SD card on PC and Raspberry)
That's it for the raspi.
update: To signal UASF enter in a new line:


Now you have to transfer the two folders CHAINSTATE and BLOCKS from your PC bitcoind directory to your raspberry.
I am using a program called "WINSCP" - it is free and easy to use:
We need this to transfer the files to the Raspberry pi. Pretty sure you can also do it via SSH - but I am the noob. So let's keep it simple.
Open Winscp and put in the IP Address of your Raspberry Pi, User and Password (same as in SSH)
You should now see the directories on your Raspberry Pi. There is a folder called
enter it and you will see the two folders
blocks & chainstate
you can delete them on the raspberry as they have some data from your previous test inside.
Make sure you can also see the bitcoin.conf file in that directory, which needs to contain the exact same prune line, like the one on your desktop machine. If not, make sure to edit it via SSH. The line "datadir=l:\yourfolder" is obviously not needed in the Raspberry bitcoin.conf file.
Now grab the two folders CHAINSTATE and BLOCKS from your PC and copy them to your .bitcoind folder.
I also copied banlist.dat, fee_estimation.dat, mempool.dat and peers.dat to the folder - not really knowing if needed! Not needed.
The whole copy process might take some minutes (against some weeks in the old way).
After copying is finished, you can now start bitcoind on the Raspberry.
bitcoind &
the & symbol let you still use the command line while the process is running btw.
The process - if succesfull - will take some time to finish.
bitcoin-cli getinfo
Will give you some informations what is going on right now. When you can see, that it is checking the blocks, this is good!
If you get an error - double check - if you have the correct prune size (same as on desktop machine) - in bitcoin.conf and that this file is inside .bitcoin on RaspberryPi. It took me some time, to find my mistakes.
Congrats! You are almost a part of the network!
To make your node now a fullnode, you will need to go to your router (often and enable portforwarding for your raspberry pi - and open ports 8333 - that's it!
You can now go to:
scroll down to "JOIN THE NETWORK" and check check if your node IP is connected!
It will show up as soon as the blocks are checked and the raspi is running.
Well done!
Now you are running a full node, with a small Blockchain and got it working in Minutes, not weeks!
I really hope, my little tutorial worked for you and your are part of the Node network now.
If you have problems or I made a mistake in this helper tut, just let me know and I will try to make it better.
Have fun and NODL!
the noob
tl;dr; (if you are a real noob start with the non-tl;dr version!)
tl;dr; PART ONE
1) Download & install / setup bitcoincore @
2) change dbcache to something smaller than your memory and download the whole Blockchain (120GB).
3) create a file called bitcoin.conf put the line prune=550 (or higher) in to activate pruning on win inside %appData%/bitcoin
4) Open ports 8333 on your Router to make this a full node with a smaller Blockchain.
You are running a full node on your PC.
tl;dr; PART TWO
1) Install jessie lite and the needed dependencies on your SDCard - Raspberry
( >git clone -b 0.14 )
  • see tutorial for more info.
2) create a file called bitcoin.conf inside .bitcoin and add the same prune=Number you had on your PC.
3) transfer the pruned folders BLOCKS and CHAINSTATE to the Raspberry Folder .bitcoin
4)Start "bitcoind &"
5) let everything sync
6) Make sure you have port 8333 opened on your router.
You are running a full node on your Raspberry with a super small Blockchain (I put all on a 8GB SDcard)
Tip if you want : 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v
updated 03/12 - will update more, soon.
updated 03/12.2 - I updated the whole process a bit and also added some improvements.
updated 03/14/ Added a tl;dr version at the end.
submitted by I-am-the-noob to Bitcoin [link] [comments]

Soft-forking the block time to 2 min: my primarily silly and academic (but seemingly effective) entry to the "increase the blockchain's capacity in an arbitrarily roundabout way as long as it's a softfork" competition

So given that large portions of the bitcoin community seem to be strongly attached to this notion that hard forks are an unforgivable evil, to the point that schemes containing hundreds of lines of code are deemed to be a preferred alternative, I thought that I'd offer an alternative strategy to increasing the bitcoin blockchain's throughput with nothing more than a soft fork - one which is somewhat involved and counterintuitive, but for which the code changes are actually quite a bit smaller than some of the alternatives; particularly, "upper layers" of the protocol stack should need no changes at all.
The attack vector is as follows. Instead of trying to increase the size of an individual block directly, we will create a softfork where under the softfork rules, miners are compelled to insert incorrect timestamps, so as to trick the bitcoin blockchain into retargeting difficulty in such a way that on average, a block comes every two minutes instead of once every ten minutes, thereby increasing throughput to be equivalent to a 5 MB block size.
First, let us go over the bitcoin block timestamp and difficulty retargeting rules:
The last rule ensures that difficulty adjustments are "clamped" between a 4x increase and a 4x decrease no matter what.
So, how to we do this? Let's suppose for the sake of simplicity that in all examples the soft fork starts at unix time 1500000000. We could say that instead of putting the real time into blocks, miners should put 1500000000 + (t - 1500000000) * 5; this would make the blockchain think that blocks are coming 5x as rarely, and so it would decrease difficulty by a factor of 5, so that from the point of view of actual time blocks will start coming in every two minutes instead of ten. However, this approach has one problem: it is not a soft fork. Users running the original bitcoin client will very quickly start rejecting the new blocks because the timestamps are too far into the future.
Can we get around this problem? You could use 1500000000 + (t - 1500000000) * 0.2 as the formula instead, and that would be a soft fork, but that would be counterproductive: if you do that, you would instead reduce the real-world block throughput by 5x. You could try to look at schemes where you pretend that blocks come quickly sometimes and slowly at other times and "zigzag" your way to a lower net equilibrium difficulty, but that doesn't work: for mathematical reasons that have to do with the fact that 1/x always has a positive second derivative, any such strategy would inevitably gain more difficulty going up than it would lose coming down (at least as long as it stays within the constraint that "fake time" must always be less than or equal to "real time").
However, there is one clever way around this. We start off by running a soft fork that sets fake_time = 1500000000 + (real_time - 1500000000) * 0.01 for as long as is needed to get fake time 12 weeks behind real time. However, we add an additional rule: every 2016th block, we set the block timestamp equal to real time (this rule is enforced by soft-fork: if you as a miner don't do this, other miners don't build on top of your block). This way, the difficulty retargeting algorithm has no idea that anything is out of the ordinary, and so difficulty just keeps adjusting as normal. Note that because the timestamp of each block need only be higher than the median of the timestamps of the previous 11 blocks, and not necessarily higher than that of the immediately previous block, it's perfectly fine to hop right back to fake time after those single blocks at real time. During those 12 weeks, we also add a soft-forking change which invalidates a random 20% of blocks in the first two weeks, a random 36% of blocks in the second two weeks, 50% in the third two weeks, etc; this creates a gap between in-protocol difficulty and de-facto difficulty that will hit 4x by the time we start the next step (we need this to avoid having an 8-week period where block throughput is at 250 kb per 10 minutes).
Then, once we have 12 weeks of "leeway", we perform the following maneuver. We do the first retarget with the timestamp equal to fake time; this increases difficulty by 4x (as the timestamp difference is -12 weeks, which gets clamped to the minimum of 302400 seconds = 0.5 weeks). The retarget after that, we set the timestamp 8 weeks ahead of fake time, so as to get the difficulty down 4x. The retargeting round after that, we determine the actual retargeting coefficient c that we want to have, and clamp it so that 0.5 <= c < 2. We set the block timestamp c * 2 weeks ahead of the timestamp of the previous retargeting block. Then, in the retargeting round after that, we set the block timestamp back at fake time, and start the cycle again. Rinse and repeat forever.
Diagram here:
Hence, in general we spend 2/3 of our retargeting periods in lower-difficulty mode, and 1/3 in higher-difficulty. We choose c to target the block time in lower-difficulty mode to 30 seconds, so that in higher-difficulty mode it will be two minutes. In lower-difficulty mode, we add another softfork change in order to make a random 75% of blocks that get produced invalid (eg. one simple way to do this is to just pretend that the difficulty during these periods is 4x higher), so the actual block time duing all periods will converge toward two minutes - equivalent to a throughput of 5 MB every ten minutes.
Note that a corollary of this is that it is possible for a majority of miners to collude using the technique above to make the block rewards come out 5x faster (or even more) than they are supposed to, thereby greatly enriching themselves at the expense of future network security. This is a slight argument in favor of bitcoin's finite supply over infinite supply models (eg. dogecoin), because in an infinite supply model this means that you can actually permanently expand issuance via a soft fork rather than just making the existing limited issuance come out faster. This is a quirk of bitcoin's difficulty adjustment algorithm specifically; other algorithms are immune to this specific trick though they may be vulnerable to tricks of their own.
I looked at the code again and it seems like the difficulty retargeting algorithm might actually only look 2015 blocks back every 2016 blocks rather than every 2016 blocks (ie. it checks the timestamp difference between block 2016*k+2015 and 2016*k, not 2016*k+2016 and 2016*k as I had assumed). In that case, the timestamp dance and the initial capacity adjustment process might actually be substantially simpler than I thought: it would simply be a one-step procedure of always setting the timestamp at 2016*k to equal real time and then setting the timestamp of 2016*k+2015 to whatever is convenient for achieving the desired difficulty adjustment.
I think I may have been wrong about the effectiveness of this strategy being limited by the minimum safe block time. Specifically, note that you can construct a soft fork where the in-protocol difficulty drops to the point where it's negligible, and say that all blocks where block.number % N != 0 have negligible difficulty but blocks where block.number % N = 0 are soft-forked to have higher de-facto difficulty; in this case, a miner's optimal strategy will be to simultaneously generate N-1 easy blocks and a hard block and if successful publish them as a package, creating a "de-facto block" of theoretically unlimited size.
submitted by vbuterin to btc [link] [comments]

The Nexus FAQ - part 1

Full formatted version:

Nexus 101:

  1. What is Nexus?
  2. What benefits does Nexus bring to the blockchain space?
  3. How does Nexus secure the network and reach consensus?
  4. What is quantum resistance and how does Nexus implement this?
  5. What is Nexus’ Unified Time protocol?
  6. Why does Nexus need its own satellite network?

The Nexus Currency:

  1. How can I get Nexus?
  2. How much does a transaction cost?
  3. How fast does Nexus transfer?
  4. Did Nexus hold an ICO? How is Nexus funded?
  5. Is there a cap on the number of Nexus in existence?
  6. What is the difference between the Oracle wallet and the LLD wallet?
  7. How do I change from Oracle to the LLD wallet?
  8. How do I install the Nexus Wallet?

Types of Mining or Minting:

  1. Can I mine Nexus?
  2. How do I mine Nexus?
  3. How do I stake Nexus?
  4. I am staking with my Nexus balance. What are trust weight, block weight and stake weight?

Nexus 101:

1. What is Nexus (NXS)?
Nexus is a digital currency, distributed framework, and peer-to-peer network. Nexus further improves upon the blockchain protocol by focusing on the following core technological principles:
Nexus will combine our in-development quantum-resistant 3D blockchain software with cutting edge communication satellites to deliver a free, distributed, financial and data solution. Through our planned satellite and ground-based mesh networks, Nexus will provide uncensored internet access whilst bringing the benefits of distributed database systems to the world.
For a short video introduction to Nexus Earth, please visit this link
2. What benefits does Nexus bring to the blockchain space?
As Nexus has been developed, an incredible amount of time has been put into identifying and solving several key limitations:
Nexus is also developing a framework called the Lower Level Library. This LLL will incorporate the following improvements:
For information about more additions to the Lower Level Library, please visit here
3. How does Nexus secure the network and reach consensus?
Nexus is unique amongst blockchain technology in that Nexus uses 3 channels to secure the network against attack. Whereas Bitcoin uses only Proof-of-Work to secure the network, Nexus combines a prime number channel, a hashing channel and a Proof-of-Stake channel. Where Bitcoin has a difficulty adjustment interval measured in weeks, Nexus can respond to increased hashrate in the space of 1 block and each channel scales independently of the other two channels. This stabilizes the block times at ~50 seconds and ensures no single channel can monopolize block production. This means that a 51% attack is much more difficult to launch because an attacker would need to control all 3 channels.
Every 60 minutes, the Nexus protocol automatically creates a checkpoint. This prevents blocks from being created or modified dated prior to this checkpoint, thus protecting the chain from malicious attempts to introduce an alternate blockchain.
4. What is quantum resistance and how does Nexus implement it?
To understand what quantum resistance is and why it is important, you need to understand how quantum computing works and why it’s a threat to blockchain technology. Classical computing uses an array of transistors. These transistors form the heart of your computer (the CPU). Each transistor is capable of being either on or off, and these states are used to represent the numerical values 1 and 0.
Binary digits’ (bits) number of states depends on the number of transistors available, according to the formula 2n, where n is the number of transistors. Classical computers can only be in one of these states at any one time, so the speed of your computer is limited to how fast it can change states.
Quantum computers utilize quantum bits, “qubits,” which are represented by the quantum state of electrons or photons. These particles are placed into a state called superposition, which allows the qubit to assume a value of 1 or 0 simultaneously.
Superposition permits a quantum computer to process a higher number of data possibilities than a classical computer. Qubits can also become entangled. Entanglement makes a qubit dependant on the state of another, enabling quantum computing to calculate complex problems, extremely quickly.
One such problem is the Discrete Logarithm Problem which elliptic curve cryptography relies on for security. Quantum computers can use Shor’s algorithm to reverse a key in polynomial time (which is really really really fast). This means that public keys become vulnerable to quantum attack, since quantum computers are capable of being billions of times faster at certain calculations. One way to increase quantum resistance is to require more qubits (and more time) by using larger private keys:
Bitcoin Private Key (256 bit) 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF
Nexus Private Key (571 bit) 6Wuiv513R18o5cRpwNSCfT7xs9tniHHN5Lb3AMs58vkVxsQdL4atHTF Vt5TNT9himnCMmnbjbCPxgxhSTDE5iAzCZ3LhJFm7L9rCFroYoqz
Bitcoin addresses are created by hashing the public key, so it is not possible to decrypt the public key from the address; however, once you send funds from that address, the public key is published on the blockchain rendering that address vulnerable to attack. This means that your money has higher chances of being stolen.
Nexus eliminates these vulnerabilities through an innovation called signature chains. Signature chains will enable access to an account using a username, password and PIN. When you create a transaction on the network, you claim ownership of your signature chain by revealing the public key of the NextHash (the hash of your public key) and producing a signature from the one time use private key. Your wallet then creates a new private/public keypair, generates a new NextHash, including the corresponding contract. This contract can be a receive address, a debit, a vote, or any other type of rule that is written in the contract code.
This keeps the public key obscured until the next transaction, and by divorcing the address from the public key, it is unnecessary to change addresses in order to change public keys. Changing your password or PIN code becomes a case of proving ownership of your signature chain and broadcasting a new transaction with a new NextHash for your new password and/or PIN. This provides the ability to login to your account via the signature chain, which becomes your personal chain within the 3D chain, enabling the network to prove and disprove trust, and improving ease of use without sacrificing security.
The next challenge with quantum computers is that Grover’s algorithm reduces the security of one-way hash function by a factor of two. Because of this, Nexus incorporates two new hash functions, Skein and Keccak, which were designed in 2008 as part of a contest to create a new SHA3 standard. Keccak narrowly defeated Skein to win the contest, so to maximize their potential Nexus combines these algorithms. Skein and Keccak utilize permutation to rotate and mix the information in the hash.
To maintain a respective 256/512 bit quantum resistance, Nexus uses up to 1024 bits in its proof-of-work, and 512 bits for transactions.
5. What is the Unified Time protocol?
All blockchains use time-stamping mechanisms, so it is important that all nodes operate using the same clock. Bitcoin allows for up to 2 hours’ discrepancy between nodes, which provides a window of opportunity for the blockchain to be manipulated by time-related attack vectors. Nexus eliminates this vulnerability by implementing a time synchronization protocol termed Unified Time. Unified Time also enhances transaction processing and will form an integral part of the 3D chain scaling solution.
The Unified Time protocol facilitates a peer-to-peer timing system that keeps all clocks on the network synchronized to within a second. This is seeded by selected nodes with timestamps derived from the UNIX standard; that is, the number of seconds since January 1st, 1970 00:00 UTC. Every minute, the seed nodes report their current time, and a moving average is used to calculate the base time. Any node which sends back a timestamp outside a given tolerance is rejected.
It is important to note that the Nexus network is fully synchronized even if an individual wallet displays something different from the local time.
6. Why does Nexus need its own satellite network?
One of the key limitations of a purely electronic monetary system is that it requires a connection to the rest of the network to verify transactions. Existing network infrastructure only services a fraction of the world’s population.
Nexus, in conjunction with Vector Space Systems, is designing communication satellites, or cubesats, to be launched into Low Earth Orbit in 2019. Primarily, the cubesat mesh network will exist to give Nexus worldwide coverage, but Nexus will also utilize its orbital and ground mesh networks to provide free and uncensored internet access to the world.

The Nexus Currency (NXS):

1. How can I get Nexus?
There are two ways you can obtain Nexus. You can either buy Nexus from an exchange, or you can run a miner and be rewarded for finding a block. If you wish to mine Nexus, please follow our guide found below.
Currently, Nexus is available on the following exchanges:
Nexus is actively reaching out to other exchanges to continue to be listed on cutting edge new financial technologies..
2. How much does a transaction cost?
Under Nexus, the fee structure for making a transaction depends on the size of your transaction. A default fee of 0.01 NXS will cover most transactions, and users have the option to pay higher fees to ensure their transactions are processed quickly.
When the 3D chain is complete and the initial 10-year distribution period finishes, Nexus will absorb these fees through inflation, enabling free transactions.
3. How fast does Nexus transfer?
Nexus reaches consensus approximately every ~ 50 seconds. This is an average time, and will in some circumstances be faster or slower. NXS currency which you receive is available for use after just 6 confirmations. A confirmation is proof from a node that the transaction has been included in a block. The number of confirmations in this transaction is the number that states how many blocks it has been since the transaction is included. The more confirmations a transaction has, the more secure its placement in the blockchain is.
4. Did Nexus hold an ICO? How is Nexus funded?
The Nexus Embassy, a 501(C)(3) not-for-profit corporation, develops and maintains the Nexus blockchain software. When Nexus began under the name Coinshield, the early blocks were mined using the Developer and Exchange (Ambassador) addresses, which provides funding for the Nexus Embassy.
The Developer Fund fuels ongoing development and is sourced by a 1.5% commission per block mined, which will slowly increase to 2.5% after 10 years. This brings all the benefits of development funding without the associated risks.
The Ambassador (renamed from Exchange) keys are funded by a 20% commission per block reward. These keys are mainly used to pay for marketing, and producing and launching the Nexus satellites.
When Nexus introduces developer and ambassador contracts, they will be approved, denied, or removed by six voting groups namely: currency, developer, ambassador, prime, hash, and trust.
Please Note: The Nexus Embassy reserves the sole right to trade, sell and or use these funds as required; however, Nexus will endeavor to minimize the impact that the use of these funds has upon the NXS market value.
5. Is there a cap on the number of NXS in existence?
After an initial 10-year distribution period ending on September 23rd, 2024, there will be a total of 78 million NXS. Over this period, the reward gradient for mining Nexus follows a decaying logarithmic curve instead of the reward halving inherent in Bitcoin. This avoids creating a situation where older mining equipment is suddenly unprofitable, encouraging miners to continue upgrading their equipment over time and at the same time reducing major market shocks on block halving events.
When the distribution period ends, the currency supply will inflate annually by a maximum of 3% via staking and by 1% via the prime and hashing channels. This inflation is completely unlike traditional inflation, which degrades the value of existing coins. Instead, the cost of providing security to the blockchain is paid by inflation, eliminating transaction fees.
Colin Cantrell - Nexus Inflation Explained
6. What is the difference between the LLD wallet and the Oracle wallet?
Due to the scales of efficiency needed by blockchain, Nexus has developed a custom-built database called the Lower Level Database. Since the development of the LLD wallet, which is a precursor to the Tritium updates, you should begin using the LLD wallet to take advantage of the faster load times and improved efficiency.
The Oracle wallet is a legacy wallet which is no longer maintained or updated. It utilized the Berkeley DB, which is not designed to meet the needs of a blockchain. Eventually, users will need to migrate to the LLD wallet. Fortunately, the wallet.dat is interchangeable between wallets, so there is no risk of losing access to your NXS.
7. How do I change from Oracle to the LLD wallet?
Step 1 - Backup your wallet.dat file. You can do this from within the Oracle wallet Menu, Backup Wallet.
Step 2 - Uninstall the Oracle wallet. Close the wallet and navigate to the wallet data directory. On Windows, this is the Nexus folder located at %APPDATA%\Nexus. On macOS, this is the Nexus folder located at ~/Library/Application Support/Nexus. Move all of the contents to a temporary folder as a backup.
Step 3 - Copy your backup of wallet.dat into the Nexus folder located as per Step 2.
Step 4 - Install the Nexus LLD wallet. Please follow the steps as outlined in the next section. Once your wallet is fully synced, your new wallet will have access to all your addresses.
8. How do I install the Nexus Wallet?
You can install your Nexus wallet by following these steps:
Step 1 - Download your wallet from Click the Downloads menu at the top and select the appropriate wallet for your operating system.
Step 2 - Unzip the wallet program to a folder. Before running the wallet program, please consider space limitations and load times. On the Windows OS, the wallet saves all data to the %APPDATA%\Nexus folder, including the blockchain, which is currently ~3GB.
On macOS, data is saved to the ~/Library/Application Support/Nexus folder. You can create a symbolic link, which will allow you to install this information in another location.
Using Windows, follow these steps:
On macOS, follow these steps:
Step 3 (optional) - Before running the wallet, we recommend downloading the blockchain database manually. Nexus Earth maintains a copy of the blockchain data which can save hours from the wallet synchronization process. Please go to and click the Downloads menu.
Step 4 (optional) - Extract the database file. This is commonly found in the .zip or .rar format, so you may need a program like 7zip to extract the contents. Please extract it to the relevant directory, as outlined in step 2.
Step 5 - You can now start your wallet. After it loads, it should be able to complete synchronization in a short time. This may still take a couple of hours. Once it has completed synchronizing, a green check mark icon will appear in the lower right corner of the wallet.
Step 6 - Encrypt your wallet. This can be done within the wallet, under the Settings menu. Encrypting your wallet will lock it, requiring a password in order to send transactions.
Step 7 - Backup your wallet.dat file. This can be done from the File menu inside the wallet. This file contains the keys to the addresses in your wallet. You may wish to keep a secure copy of your password somewhere, too, in case you forget it or someone else (your spouse, for example) ever needs it.
You should back up your wallet.dat file again any time you create – or a Genesis transaction creates (see “staking” below) – a new address.

Types of Mining or Minting:

1.Can I mine Nexus?
Yes, there are 2 channels that you can use to mine Nexus, and 1 channel of minting:
Prime Mining Channel
This mining channel looks for a special prime cluster of a set length. This type of calculation is resistant to ASIC mining, allowing for greater decentralization. This is most often performed using the CPU.
Hashing Channel
This channel utilizes the more traditional method of hashing. This process adds a random nonce, hashes the data, and compares the resultant hash against a predetermined format set by the difficulty. This is most often performed using a GPU.
Proof of Stake (nPoS)
Staking is a form of mining NXS. With this process, you can receive NXS rewards from the network for continuously operating your node (wallet). It is recommended that you only stake with a minimum balance of 1000 NXS. It’s not impossible to stake with less, but it becomes harder to maintain trust. Losing trust resets the interest rate back to 0.5% per annum.
2. How do I mine Nexus?
As outlined above, there are two types of mining and 1 proof of stake. Each type of mining uses a different component of your computer to find blocks, the CPU or the GPU. Nexus supports CPU and GPU mining on Windows only. There are also third-party macOS builds available.
Please follow the instructions below for the relevant type of miner.
Prime Mining:
Almost every CPU is capable of mining blocks on this channel. The most effective method of mining is to join a mining pool and receive a share of the rewards based on the contribution you make. To create your own mining facility, you need the CPU mining software, and a NXS address. This address cannot be on an exchange. You create an address when you install your Nexus wallet. You can find the related steps under How Do I Install the Nexus Wallet?
Please download the relevant miner from Please note that there are two different miner builds available: the prime solo miner and the prime pool miner. This guide will walk you through installing the pool miner only.
Step 1 - Extract the archive file to a folder.
Step 2 - Open the miner.conf file. You can use the default host and port, but these may be changed to a pool of your choice. You will need to change the value of nxs_address to the address found in your wallet. Sieve_threads is the number of CPU threads you want to use to find primes. Ptest_threads is the number of CPU threads you want to test the primes found by the sieve. As a general rule, the number of threads used for the sieve should be 75% of the threads used for testing.
It is also recommended to add the following line to the options found in the .conf file:
"experimental" : "true"
This option enables the miner to use an improved sieve algorithm which will enable your miner to find primes at a faster rate.
Step 3 - Run the nexus_cpuminer.exe file. For a description of the information shown in this application, please read this guide.
The GPU is a dedicated processing unit housed on-board your graphics card. The GPU is able to perform certain tasks extremely well, unlike your CPU, which is designed for parallel processing. Nexus supports both AMD and Nvidia GPU mining, and works best on the newer models. Officially, Nexus does not support GPU pool mining, but there are 3rd party miners with this capability.
The latest software for the Nvidia miner can be found here. The latest software for the AMD miner can be found here. The AMD miner is a third party miner. Information and advice about using the AMD miner can be found on our Slack channel. This guide will walk you through the Nvidia miner.
Step 1 - Close your wallet. Navigate to %appdata%\Nexus (~/Library/Application Support/Nexus on macOS) and open the nexus.conf file. Depending on your wallet, you may or may not have this file. If not, please create a new txt file and save it as nexus.conf
You will need to add the following lines before restarting your wallet:
Step 2 - Extract the files into a new folder.
Step 3 - Run the nexus.bat file. This will run the miner and deposit any rewards for mining a block into the account on your wallet.
For more information on either Prime Mining or Hashing, please join our Slack and visit the #mining channel. Additional information can be found here.
3. How do I stake Nexus?
Once you have your wallet installed, fully synchronized and encrypted, you can begin staking by:
After you begin staking, you will receive a Genesis transaction as your first staking reward. This establishes a Trust key in your wallet and stakes your wallet balance on that key. From that point, you will periodically receive additional Trust transactions as further staking rewards for as long as your Trust key remains active.
IMPORTANT - After you receive a Genesis transaction, backup your wallet.dat file immediately. You can select the Backup Wallet option from the File menu, or manually copy the file directly. If you do not do this, then your Nexus balance will be staked on the Trust key that you do not have backed up, and you risk loss if you were to suffer a hard drive failure or other similar problem. In the future, signature chains will make this precaution unnecessary.
4. I am staking with my Nexus balance. What are interest rate, trust weight, block weight, and stake weight?
These items affect the size and frequency of staking rewards after you receive your initial Genesis transaction. When staking is active, the wallet displays a clock icon in the bottom right corner. If you hover your mouse pointer over the icon, a tooltip-style display will open up, showing their current values.
Please remember to backup your wallet.dat file (see question 3 above) after you receive a Genesis transaction.
Interest Rate - The minting rate at which you will receive staking rewards, displayed as an annual percentage of your NXS balance. It starts at 0.5%, increasing to 3% after 12 months. The rate increase is not linear but slows over time. It takes several weeks to reach 1% and around 3 months to reach 2%.
With this rate, you can calculate the average amount of NXS you can expect to receive each day for staking.
Trust Weight - An indication of how much the network trusts your node. It starts at 5% and increases much more quickly than the minting (interest) rate, reaching 100% after one month. Your level of trust increases your stake weight (below), thus increasing your chances of receiving staking transactions. It becomes easier to maintain trust as this value increases.
Block Weight - Upon receipt of a Genesis transaction, this value will begin increasing slowly, reaching 100% after 24 hours. Every time you receive a staking transaction, the block weight resets. If your block weight reaches 100%, then your Trust key expires and everything resets (0.5% interest rate, 5% trust weight, waiting for a new Genesis transaction).
This 24-hour requirement will be replaced by a gradual decay in the Tritium release. As long as you receive a transaction before it decays completely, you will hold onto your key. This change addresses the potential of losing your trust key after months of staking simply because of one unlucky day receiving trust transactions.
Stake Weight - The higher your stake weight, the greater your chance of receiving a transaction. The exact value is a derived by a formula using your trust weight and block weight, which roughly equals the average of the two. Thus, each time you receive a transaction, your stake weight will reset to approximately half of your current level of trust.
submitted by scottsimon36 to nexusearth [link] [comments]

Antminer S9 no longer hashing?

Good morning folks,
I have an Antminer S9 that has performed flawlessly. After I moved it to a better location, I noticed that it no longer seems to be working. The green light is flashing, but it doesn't seem to be hashing to my pool (Nicehash).
I'm fairly new to Bitcoining mining and can't make sense of some of the information on my status screen. Before I jump into Bitmain support, I was wondering if anyone could clue me in as to what the problem might be.
I'll post my Kernal Log here.
Thank you in advance!!!
KERNAL LOG: [ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.14.0-xilinx-ge8a2f71-dirty ([email protected]) (gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-23) ) #82 SMP PREEMPT Tue May 16 19:49:53 CST 2017
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: Xilinx Zynq
[ 0.000000] cma: CMA: reserved 128 MiB at 27800000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] On node 0 totalpages: 258048
[ 0.000000] free_area_init_node: node 0, pgdat c0740a40, node_mem_map e6fd8000
[ 0.000000] Normal zone: 1520 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 194560 pages, LIFO batch:31
[ 0.000000] HighMem zone: 496 pages used for memmap
[ 0.000000] HighMem zone: 63488 pages, LIFO batch:15
[ 0.000000] PERCPU: Embedded 8 pages/cpu @e6fc0000 s9088 r8192 d15488 u32768
[ 0.000000] pcpu-alloc: s9088 r8192 d15488 u32768 alloc=8*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 256528
[ 0.000000] Kernel command line: noinitrd mem=1008M console=ttyPS0,115200 root=ubi0:rootfs ubi.mtd=1 rootfstype=ubifs rw rootwait
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 884148K/1032192K available (5032K kernel code, 283K rwdata, 1916K rodata, 204K init, 258K bss, 148044K reserved, 253952K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc06d1374 (6949 kB)
[ 0.000000] .init : 0xc06d2000 - 0xc0705380 ( 205 kB)
[ 0.000000] .data : 0xc0706000 - 0xc074cf78 ( 284 kB)
[ 0.000000] .bss : 0xc074cf84 - 0xc078d9fc ( 259 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Dump stacks of tasks blocking RCU-preempt GP.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] ps7-slcr mapped to f0004000
[ 0.000000] zynq_clock_init: clkc starts at f0004100
[ 0.000000] Zynq clock init
[ 0.000015] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 3298534883328ns
[ 0.000308] ps7-ttc #0 at f0006000, irq=43
[ 0.000618] Console: colour dummy device 80x30
[ 0.000658] Calibrating delay loop... 1325.46 BogoMIPS (lpj=6627328)
[ 0.040207] pid_max: default: 32768 minimum: 301
[ 0.040436] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.040459] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.042612] CPU: Testing write buffer coherency: ok
[ 0.042974] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.043036] Setting up static identity map for 0x4c4b00 - 0x4c4b58
[ 0.043263] L310 cache controller enabled
[ 0.043282] l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72760000, Cache size: 512 kB
[ 0.121037] CPU1: Booted secondary processor
[ 0.210227] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.210357] Brought up 2 CPUs
[ 0.210376] SMP: Total of 2 processors activated.
[ 0.210385] CPU: All CPU(s) started in SVC mode.
[ 0.211051] devtmpfs: initialized
[ 0.213481] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.214724] regulator-dummy: no parameters
[ 0.223736] NET: Registered protocol family 16
[ 0.226067] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.228361] cpuidle: using governor ladder
[ 0.228374] cpuidle: using governor menu
[ 0.235908] syscon f8000000.ps7-slcr: regmap [mem 0xf8000000-0xf8000fff] registered
[ 0.237440] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.237453] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.237572] zynq-ocm f800c000.ps7-ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0080000
[ 0.259435] bio: create slab at 0
[ 0.261172] vgaarb: loaded
[ 0.261915] SCSI subsystem initialized
[ 0.262814] usbcore: registered new interface driver usbfs
[ 0.262985] usbcore: registered new interface driver hub
[ 0.263217] usbcore: registered new device driver usb
[ 0.263743] media: Linux media interface: v0.10
[ 0.263902] Linux video capture interface: v2.00
[ 0.264150] pps_core: LinuxPPS API ver. 1 registered
[ 0.264162] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[[email protected]](mailto:[email protected])>
[ 0.264286] PTP clock support registered
[ 0.264656] EDAC MC: Ver: 3.0.0
[ 0.265719] Advanced Linux Sound Architecture Driver Initialized.
[ 0.268708] DMA-API: preallocated 4096 debug entries
[ 0.268724] DMA-API: debugging enabled by kernel config
[ 0.268820] Switched to clocksource arm_global_timer
[ 0.289596] NET: Registered protocol family 2
[ 0.290280] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.290375] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.290535] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.290612] TCP: reno registered
[ 0.290633] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.290689] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.290971] NET: Registered protocol family 1
[ 0.291346] RPC: Registered named UNIX socket transport module.
[ 0.291359] RPC: Registered udp transport module.
[ 0.291368] RPC: Registered tcp transport module.
[ 0.291376] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.291391] PCI: CLS 0 bytes, default 64
[ 0.291857] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[ 0.293945] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 0.295408] bounce pool size: 64 pages
[ 0.296323] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.296525] msgmni has been set to 1486
[ 0.297330] io scheduler noop registered
[ 0.297343] io scheduler deadline registered
[ 0.297385] io scheduler cfq registered (default)
[ 0.308358] dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-2364208
[ 0.308380] dma-pl330 f8003000.ps7-dma: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[ 0.434378] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 82, base_baud = 3124999) is a xuartps
[ 1.006815] console [ttyPS0] enabled
[ 1.011106] xdevcfg f8007000.ps7-dev-cfg: ioremap 0xf8007000 to f0068000
[ 1.018731] [drm] Initialized drm 1.1.0 20060810
[ 1.036029] brd: module loaded
[ 1.045494] loop: module loaded
[ 1.055163] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
[ 1.060985] e1000e: Copyright(c) 1999 - 2013 Intel Corporation.
[ 1.068779] libphy: XEMACPS mii bus: probed
[ 1.073341] ------------- phy_id = 0x3625e62
[ 1.078112] xemacps e000b000.ps7-ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
[ 1.087072] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.093912] ehci-pci: EHCI PCI platform driver
[ 1.101155] zynq-dr e0002000.ps7-usb: Unable to init USB phy, missing?
[ 1.107952] usbcore: registered new interface driver usb-storage
[ 1.114850] mousedev: PS/2 mouse device common for all mice
[ 1.120975] i2c /dev entries driver
[ 1.127946] zynq-edac f8006000.ps7-ddrc: ecc not enabled
[ 1.133474] cpufreq_cpu0: failed to get cpu0 regulator: -19
[ 1.139426] Xilinx Zynq CpuIdle Driver started
[ 1.144261] sdhci: Secure Digital Host Controller Interface driver
[ 1.150384] sdhci: Copyright(c) Pierre Ossman
[ 1.154700] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.161601] mmc0: no vqmmc regulator found
[ 1.165614] mmc0: no vmmc regulator found
[ 1.208845] mmc0: SDHCI controller on e0100000.ps7-sdio [e0100000.ps7-sdio] using ADMA
[ 1.217539] usbcore: registered new interface driver usbhid
[ 1.223054] usbhid: USB HID core driver
[ 1.227806] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
[ 1.234107] nand: Micron MT29F2G08ABAEAWP
[ 1.238074] nand: 256MiB, SLC, page size: 2048, OOB size: 64
[ 1.244027] Bad block table found at page 131008, version 0x01
[ 1.250251] Bad block table found at page 130944, version 0x01
[ 1.256303] 3 ofpart partitions found on MTD device pl353-nand
[ 1.262080] Creating 3 MTD partitions on "pl353-nand":
[ 1.267174] 0x000000000000-0x000002000000 : "BOOT.bin-env-dts-kernel"
[ 1.275230] 0x000002000000-0x00000b000000 : "angstram-rootfs"
[ 1.282582] 0x00000b000000-0x000010000000 : "upgrade-rootfs"
[ 1.291630] TCP: cubic registered
[ 1.294869] NET: Registered protocol family 17
[ 1.299597] Registering SWP/SWPB emulation handler
[ 1.305497] regulator-dummy: disabling
[ 1.309875] UBI: attaching mtd1 to ubi0
[ 1.836565] UBI: scanning is finished
[ 1.848221] UBI: attached mtd1 (name "angstram-rootfs", size 144 MiB) to ubi0
[ 1.855302] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[ 1.862063] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[ 1.868728] UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
[ 1.875605] UBI: good PEBs: 1152, bad PEBs: 0, corrupted PEBs: 0
[ 1.881586] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
[ 1.888693] UBI: max/mean erase counter: 4/1, WL threshold: 4096, image sequence number: 1134783803
[ 1.897736] UBI: available PEBs: 0, total reserved PEBs: 1152, PEBs reserved for bad PEB handling: 40
[ 1.906953] UBI: background thread "ubi_bgt0d" started, PID 1080
[ 1.906959] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 1.911038] ALSA device list:
[ 1.911042] No soundcards found.
[ 1.927420] UBIFS: background thread "ubifs_bgt0_0" started, PID 1082
[ 1.956473] UBIFS: recovery needed
[ 2.016970] UBIFS: recovery completed
[ 2.020709] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[ 2.026635] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[ 2.035771] UBIFS: FS size: 128626688 bytes (122 MiB, 1013 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[ 2.045653] UBIFS: reserved for root: 0 bytes (0 KiB)
[ 2.050693] UBIFS: media format: w4/r0 (latest is w4/r0), UUID B079DD56-06BB-4E31-8F5E-A6604F480DB2, small LPT model
[ 2.061987] VFS: Mounted root (ubifs filesystem) on device 0:11.
[ 2.069184] devtmpfs: mounted
[ 2.072297] Freeing unused kernel memory: 204K (c06d2000 - c0705000)
[ 2.920928] random: dd urandom read with 0 bits of entropy available
[ 3.318860]
[ 3.318860] bcm54xx_config_init
[ 3.928853]
[ 3.928853] bcm54xx_config_init
[ 7.929682] xemacps e000b000.ps7-ethernet: Set clk to 124999998 Hz
[ 7.935787] xemacps e000b000.ps7-ethernet: link up (1000/FULL)
[ 22.563181] In axi fpga driver!
[ 22.566260] request_mem_region OK!
[ 22.569676] AXI fpga dev virtual address is 0xf01fe000
[ 22.574751] *base_vir_addr = 0x8c510
[ 22.590723] In fpga mem driver!
[ 22.593791] request_mem_region OK!
[ 22.597361] fpga mem virtual address is 0xf3000000
[ 23.408156]
[ 23.408156] bcm54xx_config_init
[ 24.038071]
[ 24.038071] bcm54xx_config_init
[ 28.038487] xemacps e000b000.ps7-ethernet: Set clk to 124999998 Hz
[ 28.044593] xemacps e000b000.ps7-ethernet: link up (1000/FULL)
This is XILINX board. Totalram: 1039794176
Detect 1GB control board of XILINX
DETECT HW version=0008c510
miner ID : 8118b4c610358854
Miner Type = S9
AsicType = 1387
real AsicNum = 63
use critical mode to search freq...
get PLUG ON=0x000000e0
Find hashboard on Chain[5]
Find hashboard on Chain[6]
Find hashboard on Chain[7]
set_reset_allhashboard = 0x0000ffff
Check chain[5] PIC fw version=0x03
Check chain[6] PIC fw version=0x03
Check chain[7] PIC fw version=0x03
chain[5]: [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255]
has freq in PIC, will disable freq setting.
chain[5] has freq in PIC and will jump over...
Chain[5] has core num in PIC
Chain[5] ASIC[15] has core num=5
Check chain[5] PIC fw version=0x03
chain[6]: [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255]
has freq in PIC, will disable freq setting.
chain[6] has freq in PIC and will jump over...
Chain[6] has core num in PIC
Chain[6] ASIC[17] has core num=8
Check chain[6] PIC fw version=0x03
chain[7]: [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255]
has freq in PIC, will disable freq setting.
chain[7] has freq in PIC and will jump over...
Chain[7] has core num in PIC
Chain[7] ASIC[8] has core num=13
Chain[7] ASIC[9] has core num=11
Chain[7] ASIC[13] has core num=11
Chain[7] ASIC[19] has core num=14
Chain[7] ASIC[30] has core num=6
Chain[7] ASIC[32] has core num=1
Chain[7] ASIC[42] has core num=2
Chain[7] ASIC[55] has core num=1
Chain[7] ASIC[57] has core num=2
Check chain[7] PIC fw version=0x03
get PIC voltage=108 on chain[5], value=880
get PIC voltage=74 on chain[6], value=900
get PIC voltage=108 on chain[7], value=880
set_reset_allhashboard = 0x00000000
chain[5] temp offset record: 62,0,0,0,0,0,35,28
chain[5] temp chip I2C addr=0x98
chain[5] has no middle temp, use special fix mode.
chain[6] temp offset record: 62,0,0,0,0,0,35,28
chain[6] temp chip I2C addr=0x98
chain[6] has no middle temp, use special fix mode.
chain[7] temp offset record: 62,0,0,0,0,0,35,28
chain[7] temp chip I2C addr=0x98
chain[7] has no middle temp, use special fix mode.
set_reset_allhashboard = 0x0000ffff
set_reset_allhashboard = 0x00000000
CRC error counter=0
set command mode to VIL
--- check asic number
After Get ASIC NUM CRC error counter=0
The min freq=700
set real timeout 52, need sleep=379392
After TEST CRC error counter=0
set_reset_allhashboard = 0x0000ffff
set_reset_allhashboard = 0x00000000
search freq for 1 times, completed chain = 3, total chain num = 3
set_reset_allhashboard = 0x0000ffff
set_reset_allhashboard = 0x00000000
restart Miner chance num=2
waiting for receive_func to exit!
waiting for pic heart to exit!
bmminer not found= 1643 root 0:00 grep bmminer
bmminer not found, restart bmminer ...
This is user mode for mining
Detect 1GB control board of XILINX
Miner Type = S9
Miner compile time: Fri Nov 17 17:57:49 CST 2017 type: Antminer S9set_reset_allhashboard = 0x0000ffff
set_reset_allhashboard = 0x00000000
set_reset_allhashboard = 0x0000ffff
miner ID : 8118b4c610358854
set_reset_allhashboard = 0x0000ffff
Checking fans!get fan[2] speed=6120
get fan[2] speed=6120
get fan[2] speed=6120
get fan[2] speed=6120
get fan[2] speed=6120
get fan[2] speed=6120
get fan[5] speed=13440
get fan[2] speed=6120
get fan[5] speed=13440
get fan[2] speed=6120
get fan[5] speed=13440
chain[5]: [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255]
Chain[J6] has backup chain_voltage=880
Chain[J6] test patten OK temp=-126
Check chain[5] PIC fw version=0x03
chain[6]: [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255]
Chain[J7] has backup chain_voltage=900
Chain[J7] test patten OK temp=-120
Check chain[6] PIC fw version=0x03
chain[7]: [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255] [63:255]
Chain[J8] has backup chain_voltage=880
Chain[J8] test patten OK temp=-125
Check chain[7] PIC fw version=0x03
Chain[J6] orignal chain_voltage_pic=108 value=880
Chain[J7] orignal chain_voltage_pic=74 value=900
Chain[J8] orignal chain_voltage_pic=108 value=880
set_reset_allhashboard = 0x0000ffff
set_reset_allhashboard = 0x00000000
Chain[J6] has 63 asic
Chain[J7] has 63 asic
Chain[J8] has 63 asic
Chain[J6] has core num in PIC
Chain[J6] ASIC[15] has core num=5
Chain[J7] has core num in PIC
Chain[J7] ASIC[17] has core num=8
Chain[J8] has core num in PIC
Chain[J8] ASIC[8] has core num=13
Chain[J8] ASIC[9] has core num=11
Chain[J8] ASIC[13] has core num=11
Chain[J8] ASIC[19] has core num=14
Chain[J8] ASIC[30] has core num=6
Chain[J8] ASIC[32] has core num=1
Chain[J8] ASIC[42] has core num=2
Chain[J8] ASIC[55] has core num=1
Chain[J8] ASIC[57] has core num=2
miner total rate=13999GH/s fixed rate=13500GH/s
read PIC voltage=940 on chain[5]
Chain:5 chipnum=63
Chain[J6] voltage added=0.2V
Chain:5 temp offset=0
Chain:5 base freq=487
Asic[ 0]:618
Asic[ 1]:631 Asic[ 2]:681 Asic[ 3]:618 Asic[ 4]:631 Asic[ 5]:681 Asic[ 6]:618 Asic[ 7]:631 Asic[ 8]:675
Asic[ 9]:618 Asic[10]:631 Asic[11]:681 Asic[12]:631 Asic[13]:637 Asic[14]:606 Asic[15]:487 Asic[16]:637
Asic[17]:675 Asic[18]:618 Asic[19]:637 Asic[20]:675 Asic[21]:631 Asic[22]:650 Asic[23]:687 Asic[24]:631
Asic[25]:537 Asic[26]:687 Asic[27]:631 Asic[28]:587 Asic[29]:687 Asic[30]:612 Asic[31]:650 Asic[32]:687
Asic[33]:631 Asic[34]:650 Asic[35]:687 Asic[36]:631 Asic[37]:662 Asic[38]:693 Asic[39]:631 Asic[40]:662
Asic[41]:662 Asic[42]:543 Asic[43]:668 Asic[44]:693 Asic[45]:568 Asic[46]:675 Asic[47]:700 Asic[48]:631
Asic[49]:568 Asic[50]:700 Asic[51]:631 Asic[52]:625 Asic[53]:700 Asic[54]:631 Asic[55]:675 Asic[56]:662
Asic[57]:631 Asic[58]:662 Asic[59]:687 Asic[60]:631 Asic[61]:681 Asic[62]:700
Chain:5 max freq=700
Chain:5 min freq=487
read PIC voltage=940 on chain[6]
Chain:6 chipnum=63
Chain[J7] voltage added=0.1V
Chain:6 temp offset=0
Chain:6 base freq=687
Asic[ 0]:650
Asic[ 1]:650 Asic[ 2]:650 Asic[ 3]:650 Asic[ 4]:650 Asic[ 5]:650 Asic[ 6]:650 Asic[ 7]:650 Asic[ 8]:650
Asic[ 9]:650 Asic[10]:650 Asic[11]:650 Asic[12]:650 Asic[13]:650 Asic[14]:650 Asic[15]:650 Asic[16]:650
Asic[17]:650 Asic[18]:650 Asic[19]:650 Asic[20]:650 Asic[21]:650 Asic[22]:650 Asic[23]:650 Asic[24]:650
Asic[25]:650 Asic[26]:656 Asic[27]:656 Asic[28]:656 Asic[29]:656 Asic[30]:656 Asic[31]:656 Asic[32]:656
Asic[33]:656 Asic[34]:656 Asic[35]:656 Asic[36]:656 Asic[37]:656 Asic[38]:656 Asic[39]:656 Asic[40]:656
Asic[41]:656 Asic[42]:656 Asic[43]:656 Asic[44]:656 Asic[45]:656 Asic[46]:656 Asic[47]:656 Asic[48]:656
Asic[49]:656 Asic[50]:656 Asic[51]:656 Asic[52]:656 Asic[53]:656 Asic[54]:656 Asic[55]:656 Asic[56]:656
Asic[57]:656 Asic[58]:656 Asic[59]:656 Asic[60]:656 Asic[61]:656 Asic[62]:656
Chain:6 max freq=656
Chain:6 min freq=650
read PIC voltage=940 on chain[7]
Chain:7 chipnum=63
Chain[J8] voltage added=0.2V
Chain:7 temp offset=0
Chain:7 base freq=637
Asic[ 0]:656
Asic[ 1]:656 Asic[ 2]:656 Asic[ 3]:656 Asic[ 4]:656 Asic[ 5]:656 Asic[ 6]:656 Asic[ 7]:656 Asic[ 8]:637
Asic[ 9]:637 Asic[10]:656 Asic[11]:656 Asic[12]:656 Asic[13]:637 Asic[14]:656 Asic[15]:662 Asic[16]:662
Asic[17]:662 Asic[18]:662 Asic[19]:637 Asic[20]:662 Asic[21]:662 Asic[22]:662 Asic[23]:662 Asic[24]:662
Asic[25]:662 Asic[26]:662 Asic[27]:662 Asic[28]:662 Asic[29]:662 Asic[30]:637 Asic[31]:662 Asic[32]:662
Asic[33]:662 Asic[34]:662 Asic[35]:662 Asic[36]:662 Asic[37]:662 Asic[38]:662 Asic[39]:662 Asic[40]:662
Asic[41]:662 Asic[42]:650 Asic[43]:662 Asic[44]:662 Asic[45]:662 Asic[46]:662 Asic[47]:662 Asic[48]:662
Asic[49]:662 Asic[50]:662 Asic[51]:662 Asic[52]:662 Asic[53]:662 Asic[54]:662 Asic[55]:650 Asic[56]:662
Asic[57]:650 Asic[58]:662 Asic[59]:662 Asic[60]:662 Asic[61]:662 Asic[62]:662
Chain:7 max freq=662
Chain:7 min freq=637
Miner fix freq ...
read PIC voltage=940 on chain[5]
Chain:5 chipnum=63
Chain[J6] voltage added=0.2V
Chain:5 temp offset=0
Chain:5 base freq=487
Asic[ 0]:618
Asic[ 1]:631 Asic[ 2]:650 Asic[ 3]:618 Asic[ 4]:631 Asic[ 5]:656 Asic[ 6]:618 Asic[ 7]:631 Asic[ 8]:656
Asic[ 9]:618 Asic[10]:631 Asic[11]:656 Asic[12]:631 Asic[13]:637 Asic[14]:606 Asic[15]:487 Asic[16]:637
Asic[17]:656 Asic[18]:618 Asic[19]:637 Asic[20]:656 Asic[21]:631 Asic[22]:650 Asic[23]:656 Asic[24]:631
Asic[25]:537 Asic[26]:656 Asic[27]:631 Asic[28]:587 Asic[29]:656 Asic[30]:612 Asic[31]:650 Asic[32]:656
Asic[33]:631 Asic[34]:650 Asic[35]:656 Asic[36]:631 Asic[37]:656 Asic[38]:656 Asic[39]:631 Asic[40]:656
Asic[41]:656 Asic[42]:543 Asic[43]:656 Asic[44]:656 Asic[45]:568 Asic[46]:656 Asic[47]:656 Asic[48]:631
Asic[49]:568 Asic[50]:656 Asic[51]:631 Asic[52]:625 Asic[53]:656 Asic[54]:631 Asic[55]:656 Asic[56]:656
Asic[57]:631 Asic[58]:656 Asic[59]:656 Asic[60]:631 Asic[61]:656 Asic[62]:656
Chain:5 max freq=656
Chain:5 min freq=487
read PIC voltage=940 on chain[6]
Chain:6 chipnum=63
Chain[J7] voltage added=0.1V
Chain:6 temp offset=0
Chain:6 base freq=687
Asic[ 0]:631
Asic[ 1]:631 Asic[ 2]:631 Asic[ 3]:631 Asic[ 4]:631 Asic[ 5]:631 Asic[ 6]:631 Asic[ 7]:631 Asic[ 8]:631
Asic[ 9]:631 Asic[10]:631 Asic[11]:631 Asic[12]:631 Asic[13]:631 Asic[14]:631 Asic[15]:631 Asic[16]:631
Asic[17]:631 Asic[18]:631 Asic[19]:631 Asic[20]:631 Asic[21]:631 Asic[22]:631 Asic[23]:631 Asic[24]:631
Asic[25]:631 Asic[26]:631 Asic[27]:631 Asic[28]:631 Asic[29]:631 Asic[30]:631 Asic[31]:631 Asic[32]:631
Asic[33]:631 Asic[34]:631 Asic[35]:637 Asic[36]:637 Asic[37]:637 Asic[38]:637 Asic[39]:637 Asic[40]:637
Asic[41]:637 Asic[42]:637 Asic[43]:637 Asic[44]:637 Asic[45]:637 Asic[46]:637 Asic[47]:637 Asic[48]:637
Asic[49]:637 Asic[50]:637 Asic[51]:637 Asic[52]:637 Asic[53]:637 Asic[54]:637 Asic[55]:637 Asic[56]:637
Asic[57]:637 Asic[58]:637 Asic[59]:637 Asic[60]:637 Asic[61]:637 Asic[62]:637
Chain:6 max freq=637
Chain:6 min freq=631
read PIC voltage=940 on chain[7]
Chain:7 chipnum=63
Chain[J8] voltage added=0.2V
Chain:7 temp offset=0
Chain:7 base freq=637
Asic[ 0]:637
Asic[ 1]:637 Asic[ 2]:637 Asic[ 3]:637 Asic[ 4]:637 Asic[ 5]:637 Asic[ 6]:637 Asic[ 7]:637 Asic[ 8]:637
Asic[ 9]:637 Asic[10]:637 Asic[11]:637 Asic[12]:637 Asic[13]:637 Asic[14]:637 Asic[15]:637 Asic[16]:637
Asic[17]:637 Asic[18]:637 Asic[19]:637 Asic[20]:637 Asic[21]:637 Asic[22]:637 Asic[23]:637 Asic[24]:637
Asic[25]:637 Asic[26]:637 Asic[27]:637 Asic[28]:637 Asic[29]:637 Asic[30]:637 Asic[31]:637 Asic[32]:637
Asic[33]:637 Asic[34]:637 Asic[35]:637 Asic[36]:637 Asic[37]:637 Asic[38]:637 Asic[39]:637 Asic[40]:637
Asic[41]:637 Asic[42]:637 Asic[43]:637 Asic[44]:637 Asic[45]:637 Asic[46]:637 Asic[47]:637 Asic[48]:637
Asic[49]:643 Asic[50]:643 Asic[51]:643 Asic[52]:643 Asic[53]:643 Asic[54]:643 Asic[55]:643 Asic[56]:643
Asic[57]:643 Asic[58]:643 Asic[59]:643 Asic[60]:643 Asic[61]:643 Asic[62]:643
Chain:7 max freq=643
Chain:7 min freq=637
max freq = 656
set baud=1
Chain[J6] PIC temp offset=62,0,0,0,0,0,35,28
chain[5] temp chip I2C addr=0x98
chain[5] has no middle temp, use special fix mode.
Chain[J6] chip[244] use PIC middle temp offset=0 typeID=55
New offset Chain[5] chip[244] local:26 remote:27 offset:29
Chain[J6] chip[244] get middle temp offset=29 typeID=55
Chain[J7] PIC temp offset=62,0,0,0,0,0,35,28
chain[6] temp chip I2C addr=0x98
chain[6] has no middle temp, use special fix mode.
Chain[J7] chip[244] use PIC middle temp offset=0 typeID=55
New offset Chain[6] chip[244] local:26 remote:27 offset:29
Chain[J7] chip[244] get middle temp offset=29 typeID=55
Chain[J8] PIC temp offset=62,0,0,0,0,0,35,28
chain[7] temp chip I2C addr=0x98
chain[7] has no middle temp, use special fix mode.
Chain[J8] chip[244] use PIC middle temp offset=0 typeID=55
New offset Chain[7] chip[244] local:26 remote:28 offset:28
Chain[J8] chip[244] get middle temp offset=28 typeID=55
miner rate=13501 voltage limit=900 on chain[5]
get PIC voltage=880 on chain[5], check: must be < 900
miner rate=13501 voltage limit=900 on chain[6]
get PIC voltage=900 on chain[6], check: must be < 900
miner rate=13501 voltage limit=900 on chain[7]
get PIC voltage=880 on chain[7], check: must be < 900
Chain[J6] set working voltage=880 [108]
Chain[J7] set working voltage=900 [74]
Chain[J8] set working voltage=880 [108]
do heat board 8xPatten for 1 times
start send works on chain[5]
start send works on chain[6]
start send works on chain[7]
get send work num :57456 on Chain[5]
get send work num :57456 on Chain[6]
get send work num :57456 on Chain[7]
wait recv nonce on chain[5]
wait recv nonce on chain[6]
wait recv nonce on chain[7]
get nonces on chain[5]
require nonce number:912
require validnonce number:57456
asic[00]=912 asic[01]=912 asic[02]=912 asic[03]=912 asic[04]=912 asic[05]=912 asic[06]=912 asic[07]=912
asic[08]=912 asic[09]=912 asic[10]=912 asic[11]=912 asic[12]=912 asic[13]=912 asic[14]=912 asic[15]=912
asic[16]=912 asic[17]=912 asic[18]=912 asic[19]=912 asic[20]=912 asic[21]=912 asic[22]=912 asic[23]=912
asic[24]=912 asic[25]=912 asic[26]=912 asic[27]=912 asic[28]=912 asic[29]=912 asic[30]=912 asic[31]=912
asic[32]=912 asic[33]=912 asic[34]=912 asic[35]=912 asic[36]=912 asic[37]=912 asic[38]=912 asic[39]=912
asic[40]=912 asic[41]=912 asic[42]=912 asic[43]=912 asic[44]=912 asic[45]=912 asic[46]=912 asic[47]=912
asic[48]=912 asic[49]=912 asic[50]=912 asic[51]=912 asic[52]=912 asic[53]=912 asic[54]=912 asic[55]=912
asic[56]=912 asic[57]=912 asic[58]=912 asic[59]=912 asic[60]=912 asic[61]=912 asic[62]=912
Below ASIC's core didn't receive all the nonce, they should receive 8 nonce each!
freq[00]=618 freq[01]=631 freq[02]=650 freq[03]=618 freq[04]=631 freq[05]=656 freq[06]=618 freq[07]=631
freq[08]=656 freq[09]=618 freq[10]=631 freq[11]=656 freq[12]=631 freq[13]=637 freq[14]=606 freq[15]=487
freq[16]=637 freq[17]=656 freq[18]=618 freq[19]=637 freq[20]=656 freq[21]=631 freq[22]=650 freq[23]=656
freq[24]=631 freq[25]=537 freq[26]=656 freq[27]=631 freq[28]=587 freq[29]=656 freq[30]=612 freq[31]=650
freq[32]=656 freq[33]=631 freq[34]=650 freq[35]=656 freq[36]=631 freq[37]=656 freq[38]=656 freq[39]=631
freq[40]=656 freq[41]=656 freq[42]=543 freq[43]=656 freq[44]=656 freq[45]=568 freq[46]=656 freq[47]=656
freq[48]=631 freq[49]=568 freq[50]=656 freq[51]=631 freq[52]=625 freq[53]=656 freq[54]=631 freq[55]=656
freq[56]=656 freq[57]=631 freq[58]=656 freq[59]=656 freq[60]=631 freq[61]=656 freq[62]=656
total valid nonce number:57456
total send work number:57456
require valid nonce number:57456
get nonces on chain[6]
require nonce number:912
require validnonce number:57456
asic[00]=912 asic[01]=912 asic[02]=912 asic[03]=912 asic[04]=912 asic[05]=912 asic[06]=912 asic[07]=912
asic[08]=912 asic[09]=912 asic[10]=912 asic[11]=912 asic[12]=912 asic[13]=912 asic[14]=912 asic[15]=912
asic[16]=912 asic[17]=912 asic[18]=912 asic[19]=912 asic[20]=912 asic[21]=912 asic[22]=912 asic[23]=912
asic[24]=912 asic[25]=912 asic[26]=912 asic[27]=912 asic[28]=912 asic[29]=912 asic[30]=912 asic[31]=912
asic[32]=912 asic[33]=912 asic[34]=912 asic[35]=912 asic[36]=912 asic[37]=912 asic[38]=912 asic[39]=912
asic[40]=912 asic[41]=912 asic[42]=912 asic[43]=912 asic[44]=912 asic[45]=912 asic[46]=912 asic[47]=912
asic[48]=912 asic[49]=912 asic[50]=912 asic[51]=912 asic[52]=912 asic[53]=912 asic[54]=912 asic[55]=912
asic[56]=912 asic[57]=912 asic[58]=912 asic[59]=912 asic[60]=912 asic[61]=912 asic[62]=912
Below ASIC's core didn't receive all the nonce, they should receive 8 nonce each!
freq[00]=631 freq[01]=631 freq[02]=631 freq[03]=631 freq[04]=631 freq[05]=631 freq[06]=631 freq[07]=631
freq[08]=631 freq[09]=631 freq[10]=631 freq[11]=631 freq[12]=631 freq[13]=631 freq[14]=631 freq[15]=631
freq[16]=631 freq[17]=631 freq[18]=631 freq[19]=631 freq[20]=631 freq[21]=631 freq[22]=631 freq[23]=631
freq[24]=631 freq[25]=631 freq[26]=631 freq[27]=631 freq[28]=631 freq[29]=631 freq[30]=631 freq[31]=631
freq[32]=631 freq[33]=631 freq[34]=631 freq[35]=637 freq[36]=637 freq[37]=637 freq[38]=637 freq[39]=637
freq[40]=637 freq[41]=637 freq[42]=637 freq[43]=637 freq[44]=637 freq[45]=637 freq[46]=637 freq[47]=637
freq[48]=637 freq[49]=637 freq[50]=637 freq[51]=637 freq[52]=637 freq[53]=637 freq[54]=637 freq[55]=637
freq[56]=637 freq[57]=637 freq[58]=637 freq[59]=637 freq[60]=637 freq[61]=637 freq[62]=637
total valid nonce number:57456
total send work number:57456
require valid nonce number:57456
get nonces on chain[7]
require nonce number:912
require validnonce number:57456
asic[00]=912 asic[01]=912 asic[02]=912 asic[03]=912 asic[04]=912 asic[05]=912 asic[06]=912 asic[07]=912
asic[08]=907 asic[09]=912 asic[10]=912 asic[11]=912 asic[12]=912 asic[13]=912 asic[14]=912 asic[15]=912
asic[16]=912 asic[17]=912 asic[18]=912 asic[19]=909 asic[20]=912 asic[21]=912 asic[22]=912 asic[23]=912
asic[24]=912 asic[25]=912 asic[26]=912 asic[27]=912 asic[28]=912 asic[29]=912 asic[30]=912 asic[31]=912
asic[32]=912 asic[33]=912 asic[34]=912 asic[35]=912 asic[36]=912 asic[37]=912 asic[38]=912 asic[39]=912
asic[40]=912 asic[41]=912 asic[42]=912 asic[43]=912 asic[44]=912 asic[45]=912 asic[46]=912 asic[47]=912
asic[48]=912 asic[49]=912 asic[50]=912 asic[51]=912 asic[52]=912 asic[53]=912 asic[54]=912 asic[55]=911
asic[56]=912 asic[57]=912 asic[58]=912 asic[59]=912 asic[60]=912 asic[61]=912 asic[62]=912
Below ASIC's core didn't receive all the nonce, they should receive 8 nonce each!
core[049]=7 core[053]=5 core[056]=7
core[064]=7 core[112]=6
freq[00]=637 freq[01]=637 freq[02]=637 freq[03]=637 freq[04]=637 freq[05]=637 freq[06]=637 freq[07]=637
freq[08]=637 freq[09]=637 freq[10]=637 freq[11]=637 freq[12]=637 freq[13]=637 freq[14]=637 freq[15]=637
freq[16]=637 freq[17]=637 freq[18]=637 freq[19]=637 freq[20]=637 freq[21]=637 freq[22]=637 freq[23]=637
freq[24]=637 freq[25]=637 freq[26]=637 freq[27]=637 freq[28]=637 freq[29]=637 freq[30]=637 freq[31]=637
freq[32]=637 freq[33]=637 freq[34]=637 freq[35]=637 freq[36]=637 freq[37]=637 freq[38]=637 freq[39]=637
freq[40]=637 freq[41]=637 freq[42]=637 freq[43]=637 freq[44]=637 freq[45]=637 freq[46]=637 freq[47]=637
freq[48]=637 freq[49]=643 freq[50]=643 freq[51]=643 freq[52]=643 freq[53]=643 freq[54]=643 freq[55]=643
freq[56]=643 freq[57]=643 freq[58]=643 freq[59]=643 freq[60]=643 freq[61]=643 freq[62]=643
total valid nonce number:57447
total send work number:57456
require valid nonce number:57456
chain[5]: All chip cores are opened OK!
Test Patten on chain[5]: OK!
chain[6]: All chip cores are opened OK!
Test Patten on chain[6]: OK!
chain[7]: All chip cores are opened OK!
Test Patten on chain[7]: OK!
setStartTimePoint total_tv_start_sys=217 total_tv_end_sys=218
restartNum = 2 , auto-reinit enabled...
do read_temp_func once...
do check_asic_reg 0x08
get RT hashrate from Chain[5]: (asic index start from 1-63)
Asic[01]=72.5110 Asic[02]=68.6020 Asic[03]=74.4230 Asic[04]=74.6750 Asic[05]=71.4540 Asic[06]=77.5610 Asic[07]=74.7760 Asic[08]=74.3900
Asic[09]=77.7790 Asic[10]=76.7220 Asic[11]=73.8020 Asic[12]=68.5850 Asic[13]=76.1680 Asic[14]=72.4770 Asic[15]=73.0470 Asic[16]=57.8810
Asic[17]=74.4740 Asic[18]=76.4530 Asic[19]=67.8800 Asic[20]=70.1280 Asic[21]=73.7520 Asic[22]=74.6580 Asic[23]=73.6850 Asic[24]=78.5170
Asic[25]=73.6850 Asic[26]=63.6860 Asic[27]=80.9660 Asic[28]=73.9200 Asic[29]=68.9870 Asic[30]=75.6310 Asic[31]=74.9770 Asic[32]=69.4570
Asic[33]=74.6580 Asic[34]=79.8930 Asic[35]=76.6710 Asic[36]=74.3730 Asic[37]=66.6050 Asic[38]=76.7380 Asic[39]=71.4540 Asic[40]=69.3060
Asic[41]=72.5610 Asic[42]=73.8530 Asic[43]=58.9210 Asic[44]=75.3800 Asic[45]=73.1310 Asic[46]=68.4000 Asic[47]=77.6780 Asic[48]=73.1150
Asic[49]=69.2890 Asic[50]=62.8130 Asic[51]=74.2720 Asic[52]=73.1480 Asic[53]=67.4440 Asic[54]=72.4940 Asic[55]=68.1990 Asic[56]=72.4100
Asic[57]=75.3460 Asic[58]=66.1350 Asic[59]=72.9800 Asic[60]=78.1480 Asic[61]=72.3260 Asic[62]=72.5610 Asic[63]=77.7950
get RT hashrate from Chain[6]: (asic index start from 1-63)
Asic[01]=67.6620 Asic[02]=75.9840 Asic[03]=70.3300 Asic[04]=75.5640 Asic[05]=62.8470 Asic[06]=70.2790 Asic[07]=74.5240 Asic[08]=72.9130
Asic[09]=70.6320 Asic[10]=72.5610 Asic[11]=73.9370 Asic[12]=77.3420 Asic[13]=72.4440 Asic[14]=68.8030 Asic[15]=73.0810 Asic[16]=73.8360
Asic[17]=73.5510 Asic[18]=73.9700 Asic[19]=71.0340 Asic[20]=71.1680 Asic[21]=72.1580 Asic[22]=78.8190 Asic[23]=71.9230 Asic[24]=69.4570
Asic[25]=67.7630 Asic[26]=71.7220 Asic[27]=76.4030 Asic[28]=71.1180 Asic[29]=68.7360 Asic[30]=69.7090 Asic[31]=77.5610 Asic[32]=70.1790
Asic[33]=67.9140 Asic[34]=72.3930 Asic[35]=64.5920 Asic[36]=72.1920 Asic[37]=74.6080 Asic[38]=75.4470 Asic[39]=73.8700 Asic[40]=73.9370
Asic[41]=66.2860 Asic[42]=79.4230 Asic[43]=75.8160 Asic[44]=68.6350 Asic[45]=74.7920 Asic[46]=70.7990 Asic[47]=71.2360 Asic[48]=73.8700
Asic[49]=66.5380 Asic[50]=70.6150 Asic[51]=72.6280 Asic[52]=75.7490 Asic[53]=71.8400 Asic[54]=76.5370 Asic[55]=73.5340 Asic[56]=69.2390
Asic[57]=75.1280 Asic[58]=74.3230 Asic[59]=73.4330 Asic[60]=72.3430 Asic[61]=77.6780 Asic[62]=82.4600 Asic[63]=69.5240
get RT hashrate from Chain[7]: (asic index start from 1-63)
Asic[01]=73.5510 Asic[02]=75.9160 Asic[03]=80.1110 Asic[04]=76.9900 Asic[05]=76.1510 Asic[06]=73.5170 Asic[07]=74.9940 Asic[08]=73.1150
Asic[09]=70.6650 Asic[10]=70.6990 Asic[11]=72.4770 Asic[12]=70.1450 Asic[13]=74.3060 Asic[14]=71.8060 Asic[15]=74.7420 Asic[16]=75.6650
Asic[17]=76.8220 Asic[18]=69.5240 Asic[19]=72.0910 Asic[20]=75.2620 Asic[21]=72.0240 Asic[22]=73.2660 Asic[23]=76.2690 Asic[24]=69.9440
Asic[25]=67.7290 Asic[26]=71.7050 Asic[27]=74.6250 Asic[28]=78.2320 Asic[29]=69.8430 Asic[30]=68.4670 Asic[31]=71.5210 Asic[32]=68.9540
Asic[33]=74.6250 Asic[34]=71.8730 Asic[35]=74.4400 Asic[36]=74.8760 Asic[37]=73.9030 Asic[38]=72.9300 Asic[39]=69.6250 Asic[40]=74.9430
Asic[41]=72.7620 Asic[42]=69.4910 Asic[43]=67.4270 Asic[44]=71.4870 Asic[45]=74.4570 Asic[46]=66.6550 Asic[47]=67.5450 Asic[48]=75.4800
Asic[49]=72.2590 Asic[50]=72.9300 Asic[51]=75.6820 Asic[52]=71.9070 Asic[53]=67.9640 Asic[54]=67.8470 Asic[55]=74.3900 Asic[56]=71.0010
Asic[57]=75.8490 Asic[58]=74.9270 Asic[59]=72.3930 Asic[60]=74.3730 Asic[61]=75.5310 Asic[62]=73.8190 Asic[63]=72.4440
Check Chain[J6] ASIC RT error: (asic index start from 1-63)
Check Chain[J7] ASIC RT error: (asic index start from 1-63)
Check Chain[J8] ASIC RT error: (asic index start from 1-63)
Done check_asic_reg
do read temp on Chain[5]
Chain[5] Chip[62] TempTypeID=55 middle offset=29
Chain[5] Chip[62] local Temp=60
Chain[5] Chip[62] middle Temp=70
Special fix Chain[5] Chip[62] middle Temp = 75
Done read temp on Chain[5]
do read temp on Chain[6]
Chain[6] Chip[62] TempTypeID=55 middle offset=29
Chain[6] Chip[62] local Temp=60
Chain[6] Chip[62] middle Temp=72
Special fix Chain[6] Chip[62] middle Temp = 75
Done read temp on Chain[6]
do read temp on Chain[7]
Chain[7] Chip[62] TempTypeID=55 middle offset=28
Chain[7] Chip[62] local Temp=62
Chain[7] Chip[62] middle Temp=72
Special fix Chain[7] Chip[62] middle Temp = 77
Done read temp on Chain[7]
set FAN speed according to: temp_highest=62 temp_top1[PWM_T]=62 temp_top1[TEMP_POS_LOCAL]=62 temp_change=0 fix_fan_steps=0
read_temp_func Done!
CRC error counter=0
submitted by Timsierramist to BitcoinMining [link] [comments]

Unix & Linux: (block) size of /dev, /etc, /proc, /home ... Unix & Linux: IO benchmark tools block size impact? - YouTube Unix & Linux: Dynamic block size for ls command - YouTube Unix & Linux: What is good block size for file cache on ... Unix & Linux: What is file block size in Linux? - YouTube

Overview# Bitcoin block is the building block of the Bitcoin Blockchain. Each Bitcoin block within the blockchain is identified by a hash, generated using the SHA256 Cryptographic Hash Function on the header of the Bitcoin block. Each Bitcoin block also references a previous Bitcoin block, known as the parent Bitcoin block, through the "previous block hash" field in the block header. Which transactions, of all the ones broadcasted, are included is very dependent on the miner, as he/she is the one who groups them up and includes them in the block. As Nate noted below, there is also a 1MB block size limit which limits how many transactions can be included in a block. This limit is to prevent huge blocks that clog the network ... Each block contains a Unix time timestamp. In addition to serving as a source of variation for the block hash, they also make it more difficult for an adversary to manipulate the block chain.. A timestamp is accepted as valid if it is greater than the median timestamp of previous 11 blocks, and less than the network-adjusted time + 2 hours. Bitcoind – a daemon program that implements the Bitcoin protocol, is controlled through the command line. It is one of the main components of the Bitcoin network node software. Bitcoin software exists in two forms: a GUI application and a background application (daemon on Unix, service on Windows). Block Size: On average, Bitcoin block has 1 MB size. Transactions Count in Block: ... Timestamp is the epoch Unix time of the time of block initialization. Nonce. Below is the definition from Wikipedia. "In cryptography, a nonce is an arbitrary number that can be used just once. It is similar in spirit to a nonce word, hence the name. It is often a random or pseudo-random number issued in an ...

[index] [17812] [7327] [25163] [9902] [15456] [14345] [43738] [51089] [28492] [35517]

Unix & Linux: (block) size of /dev, /etc, /proc, /home ...

Unix & Linux: Dynamic block size for ls command Helpful? Please support me on Patreon: With thanks & praise to God, and... In this talk in Berlin, Andreas looks at the inner structure of bitcoin and how high-level financial and trust applications are composed from smaller element... The highly-charged debates around both Ethereum's potential hardfork and Bitcoin's block size appear different on the surface, but are caused by the same des... Unix & Linux: What is good block size for file cache on Linux? Helpful? Please support me on Patreon: With thanks & pra... Unix & Linux: What is file block size in Linux? Helpful? Please support me on Patreon: With thanks & praise to God, and...