How to make a SIMPLE C++ Makefile - Stack Overflow
directory re-organization (keeps the old build system ...
The Monero Missives (weekly report) - September 16th, 2014
Original post is here Monero Missives September 15th, 2014 Hello, and welcome to our twelfth Monero Missive! This is our first Missive after a bit of a break whilst we thwarted two related blockchain attacks. Nonetheless, we have not sat by idly, we have been finalising and completing a brand new aspect of Monero designed to protect your privacy now and in the future: the Monero Research Lab Major Updates
The Monero Research Lab is an open collective and a multi-faceted academic group focused on the ongoing improvement of Monero. Membership is not fixed, and comes and goes as researchers become interested in Monero. This isn't a group focused on the addition of "features" to Monero, but rather the analysis and improvement of the underlying core of Monero to make sure that the theories and cryptography behind Monero continue to remain robust and sound. With that in mind, we are proud to announce the release of the first two publications out of the Monero Research Lab: MRL-0001 - A Note on Chain Reactions in Traceability in CryptoNote 2.0 - this is a research bulletin that investigates how a chain reaction could weaken the blockchain resistance properties of CryptoNote's ring signatures if low mixin values are consistently chosen MRL-0002 - Counterfeiting via Merkle Tree Exploits within Virtual Currencies Employing the CryptoNote Protocol - in this research bulletin we investigate how the block 202612 attack occurred and what it exploited, and also covers the permanent fix we have put in place
This week Friday we're going to have our second #Monero-Dev Fireside Chat this week Friday, September 19th, 2014, at 10:00 EST which is 14:00 UTC and 16:00 UTC +2. For a full table of the time zones you can refer to this image, or you can use this online tool to add your city and make sure you have the correct starting time. Please note that this is a developer event, and so most of the focus will be from that perspective.
To pick up where we left off with our last Missive, we are also happy to announce the availability of Monero merchandise on the Monero Gear store, powered by Zazzle. The advantage of us using Zazzle is that it is on-demand and we never have to worry about print runs or stock or anything. In return we get 15% of each sale as a "royalty" that will go towards enabling further Monero development, although Zazzle do not (yet!) accept Bitcoin or Monero. We hope to add new designs to the store on a regular basis. You can check the store out here: http://www.zazzle.com/monerogear* or take a peek at some of the new designs right here
We are also pleased to announce the release of URS, a Monero project written in Go that allows you to sign messages using ring signatures as part of a group. The signature can be verified, but it cannot be determined which one of the signatories in the group did the actual signing (just like Monero uses for transactional unlinkability!). You can take a look at the project here: https://github.com/monero-project/urs, and the Bitcointalk thread dedicated to the project is here: https://bitcointalk.org/index.php?topic=768499.0
We have a new tagged release, 0.8.8.4, available for download (binaries: Windows, Mac, Linux, FreeBSD). This adds the following features: Testnet: we now have an operating testnet. When using bitmonerod or simplewallet you can now use the --testnet flag to use testnet instead of mainnet. Feel free to run a mining node or just a testnet node, we will be setting up email alerts for testnet nodes when an update is pending (although having a few older testnet nodes on the network won't hurt testing). FreeBSD Compatability: Monero now works on FreeBSD out the box. We will add it to the ports tree soon. At the moment compilation is no different from regular Linux and Unix compilation, and the same dependencies apply. GPG commits: we have begun GPG-signing commits and merges. This is an important step in maintaining the integrity of the codebase, and will ensure that any compromise of our computers or even the github account won't allow a malicious attacker to push code to the repository without the unsigned commits being spotted. Verification can be done by running 'git log --show-signature', which will show and verify signatures. An example of what you should see can be found here Versioning: versioning is a lot easier, now, as tagged releases from 0.8.8.4 onwards will show version-final (eg. 0.8.8.4-final) as their version, and those built between tagged releases will show version-commithash (eg. 0.8.8.4-9088ea1). We expect this will greatly aid in debugging problems, as we can immediately pinpoint the actual version / commit a user is on. Logging: default log levels have been adjusted so that non-critical warnings are now relegated to log-level 1 and above. Apart from the normal reorganisation notifications, the only messages in red that should show up in the daemon are actual errors.
Dev Diary Core: because of all of the rapid changes that we had to merge into master to deal with the aftermath of the block 202612 attack, we have to bring the development branch in sync. At this stage the development branch should not be considered usable until the rebase is complete. Build: the big change is FreeBSD compatibility, as mentioned above. A more subtle change is that the build will now first look for miniupnpc on the local system, and use that if found. If it fails to find miniupnpc it will fall back to the local copy. Build: there is a new Makefile target, release-static, that builds statically linked binaries for redistribution. At this stage it forces 64-bit builds, once we have the embedded database working cleanly we can remove this. Wallet: per-kb fees are nearly complete, and will be deployed to testnet within the next week or so. Once some thorough testing has been done on testnet we can merge this into master, and transaction fees can return to "normal". Blockchain: this took a bit of a backseat with the blockchain attacks. Now that things are back to some semblance of normality, the first implementation can be written. We have chosen LMDB for the initial implementation, as this will allow us to rapidly write a Berkeley DB interface based off of it (they use similar APIs) and thus have a baseline for performance comparisons. Core: all non-critical "errors" and warnings have been moved to log-level 1. As a developer, you may find it useful to run log-level 1 or 2 as your default. Until next week!
[P2pool] How to make your own personal p2pool Node!
Tired of getting no block rewards and sending many dead shares? Need a p2pool node close to your miner? MAKE YOUR OWN! :D And, Yep, P2pools give 0.5% Rewards to block finders! Here's some info about p2ools: http://whatisp2pool.com/ The stronger the P2Pool network becomes the more resistant the digibyte network is to 51% attacks! Oh and, P2pools are DDOS proof! Now that's News! So if your node gets DDOS'd .. you dont lose your shares as the shares have been saved in the p2pool, its called the sharechain. So you get paid anyhow! Thanks to the p2pool network. and you ccan set your workers to another pool using the "--failover only" command in cgminer (if im not wrong) and get it back to work on the p2pool network! TL;DR; P2POOL = 1 Big fat network Decentrazlized pool! STEPS TO MAKE A P2POOL: Install Ubuntu server or Desktop if you want http://www.ubuntu.com/download/ or u can use a VPS (VirtualPrivateServer -- Link Below with coupon code) So Let's start off in the command line (Open Terminal.. and all you have to do is Cut, Copy Paste! ;) ) Start by updating and upgrading Ubuntu, you know you want the best ;)
git clone git://github.com/digibyte/DigiByteProject.git digibyte #renaming makes it easier ;) cd ~/digibyte/src mkdir obj make -f makefile.unix USE_UPNP=- sudo cp digibyted /usbin cd ~
After it has compiled try running 'digibyted'
If you get an error saying you need to make the digibyte.conf file, good! :) If it doesnt give you that error, make sure you followed the compiling steps appropriately. So, Lets create the conf file here...
cd .digibyte #edited from 'digibyted' .. fixed!! nano digibyte.conf
Paste the following, CHANGING THE USERNAME AND PASS!! make sure to take note of both, you'll need these later!
Press 'CTRL' + ' X', and then 'Y' to save when prompted
cd ~ ./digibyte/src/digibyted ./digibyte/src/digibyted getinfo
Make sure you check the latest block in the block chain or on your local DigiByte Wallets. This is to see how far your p2pool node has gotten! This is gonna take quite a while so lets CONTINUE! Let's get the p2pool software and frontend in! Install the p2pool dependencies!
Time to edit and customise the html code to personalise your p2pool's frontend. Feel free to change the p2pool name and if you're an advanced user, feel free to add your own frontend from git hub after removing the web-static folder. (OPTIONAL: by using rm -f -r web-static #in that directory. And then you can choose whichever frontend you want! by cloning it in the web-static folder) Editing the current frontend html!
cd .. cd web-static nano index.html
After personalising the page, i.e. changing the p2pool name and adding some info! Lets go back and check how far the block downloading has gotten! You can check this by typing this in the command line after going back to the root directory:
cd ~ ./digibyte/src/digibyted getinfo
This is gonna take a while so might as well check for updates again :P
sudo apt-get update sudo apt-get upgrade
After making sure that all the blocks have been synced locally! We're ready to run the p2pool node! Simply enter the string below in the command line, entering your USERNAME and PASS that you saved earlier!
If you want to charge a fee for your node add this to your string, adding your fee address!:
--fee 1.0 --address NEWDGBADDRESS
To see if the node is up and running enter this in the command line:
screen -x myp2pool
'CTRL' + 'A' + 'D' to close the terminal if you press 'CTRL' + 'C', it will terminate the p2pool program and you'll have to restart the pool by using the string above! Once, Everything is setup as planned! Check your p2pool node's ip Address by entering this into the command line:
inet addr: 192.168.1.1 #You'll see a line like this.
So, Your cgminer string should look something like this:
cgminer --scrypt -o 192.168.1.1:9022 -u DGBADDRESS -p x
And your p2pool WEB ADDRESS should look like this:
example: http://192.168.1.1:9022/ You can monitor your p2pool using that web address! Enjoy, your personal p2pool node!! :D If for whatever reason the server shuts off and you need to restart the p2pool node, you should run digibyted again and after it has synced successfully, just type in your p2pool string:
Bitcoin Core should also work on most other Unix-like systems but is not as frequently tested on them. From 0.17.0 onwards, macOS <10.10 is no longer supported. 0.17.0 is built using Qt 5.9.x, which doesn’t support versions of macOS older than 10.10. Additionally, Bitcoin Core does not yet change appearance when macOS “dark mode” is ... Possible duplicate of Complex conditions check in Makefile. – Peter Mortensen Jun 27 '16 at 11:08. 1. Don't think it's a dupe, the linked question relates to chaining ifdef operators, this question is related to chaining ifeq operators, similar, but the answers are definitely different. – Pat Jun 27 '16 at 15:43. Similar to Is there a logical OR operator for the ifneq ... The Bitcoin Core build process was changed to use the autogen/configure/make system starting with version 0.9. Older versions use a simple Makefile and work slightly differently from the following example. Follow the instructions for the version you want to compile. The autogen/configure/make introduced in 0.9 is likely to be the build system ... I have a Makefile target, in which I have to check the value of an environment variable. But, I don't get the exact syntax of it. Tried hard, but can't find it. Any help is appreciated. Environment variable name: TEST, its value: "TRUE" test_target: ifeq ($(TEST),"TRUE") echo "Do something" endif I get the following error: Since this is for Unix, the executables don't have any extensions. ... A Trivial Makefile. Suppose that you have a directory containing: tool tool.cc tool.o support.cc support.hh, and support.o which depend on root and are supposed to be compiled into a program called tool, and suppose that you've been hacking on the source files (which means the existing tool is now out of date) and want to ...
Unix & Linux: Makefile: Default Value of Variable that is ...
We all know Bitcoin is a roller coaster of price changes, but have you ever wondered what determines the value of Bitcoin? Today Maria walk you through how the value of bitcoin constantly changes ... Lets talk about Bitcoin and what I THINK caused the recent jump in price - enjoy! Add me on Instagram: GPStephan The YouTube Creator Academy: Learn EXACTLY h... During volatile market conditions, investors should be looking for assets that represent stores of value, like gold, silver, and bitcoin, this according to M... Start trading Bitcoin and cryptocurrency here: http://bit.ly/2Vptr2X IMPORTANT!! This method only illustrates how mining works. You will not make any money f... Unix & Linux: Makefile: Default Value of Variable that is set but has null value Helpful? Please support me on Patreon: https://www.patreon.com/roelvandepaar...