Code Monkey home page Code Monkey logo

pivx-project / pivx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dashpay/dash

523.0 106.0 717.0 204.24 MB

Protected Instant Verified Transactions - Core wallet.

Home Page: https://www.pivx.org

License: MIT License

Shell 0.54% Python 8.36% QMake 0.14% Makefile 0.76% C++ 50.66% C 29.25% HTML 0.12% CSS 1.14% Objective-C++ 0.02% Assembly 5.10% Java 0.16% M4 1.48% CMake 1.10% Rust 0.73% Sage 0.16% JavaScript 0.22% TypeScript 0.06%
cryptocurrency wallet pivx p2p masternodes governance cryptocurrencies privacy zk-snarks shield sapling proof-of-stake pos

pivx's Introduction

PIVX Core integration/staging repository

master Actions Status GitHub release (latest by date) GitHub Release Date

What is PIVX?

PIVX is an open source community-driven cryptocurrency, focused on five main aspects:

(1) User Data Protection: Through the use of SHIELD, a zk-SNARKs based privacy protocol.

(2) Low environmental footprint and network participation equality: Through the use of a highly developed Proof of Stake protocol.

(3) Decentralized Governance System: A DAO built on top of the tier two Masternodes network, enabling a monthly community treasury, proposals submission and decentralized voting.

(4) Fast Transactions: Through the use of fast block times and the tier two network, PIVX is committed to continue researching new and better instant transactions mechanisms.

(5) Ease of Use: PIVX is determined to offer the best possible graphical interface for a core node/wallet. A full featured graphical product for new and advanced users.

A lot more information and specs at PIVX.org. Join the community at PIVX Discord.

License

PIVX Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Development Process

The master branch is regularly built (see doc/build-*.md for instructions) and tested, but it is not guaranteed to be completely stable. Tags are created regularly from release branches to indicate new official, stable release versions of PIVX Core.

The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people a lot of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py`

The CI (Continuous Integration) systems make sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

Translations

Changes to translations as well as new translations can be submitted to PIVX Core's Transifex page.

Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.

Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.

pivx's People

Contributors

cozz avatar crowning- avatar dongcarl avatar fanquake avatar furszy avatar fuzzbawls avatar gavinandresen avatar gmaxwell avatar jonasschnelli avatar jonspock avatar laanwj avatar luke-jr avatar morcos avatar mrs-x avatar neoperol avatar non-github-bitcoin avatar panleone avatar petertodd avatar practicalswift avatar presstab avatar random-zebra avatar schinzelh avatar sipa avatar snogcel avatar stakebox avatar thebluematt avatar theuni avatar udjinm6 avatar vertoe avatar warrows avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pivx's Issues

2.1.7 Crashing

This is what I have done

  1. Installed 2.1.7
  2. Removed everything from ~/.pivx folder except wallet.dat and pivx.conf
  3. Synced the blockchain(took very long time)
  4. Backed up the folders "blocks" and "chainstate"

Last night my wallet crashed, when I tried to start it aging, it crashed again. I removed everything from ~/.pivx and copied back the folders "blocks" and "chainstate" that I had backed up. The wallet is still crashing and I cannot use it at all.

OS: Ubuntu 14
PIVX: 2.1.7

debug.log:
2017-04-18 12:16:52 *** System error while flushing: CDB : Error -30974, can't open database
2017-04-18 12:16:57 ERROR: ProcessNewBlock : ActivateBestChain failed
2017-04-18 12:16:57 ConnectBlock:

Difficulty flushing to DB right after allocating a new block file.

Describe the issue

Certain clients and operating systems have difficulty flushing to DB right after allocating a new block file.

Actual behavior

2017-04-28 01:53:09 Leaving block file 2: CBlockFileInfo(blocks=189787, size=134209466, heights=392677...582451, time=2016-11-20...2017-04-02)
2017-04-28 01:53:09 Pre-allocating up to position 0x1000000 in blk00003.dat
2017-04-28 01:53:09 Pre-allocating up to position 0x100000 in rev00003.dat
2017-04-28 01:53:11 *** System error while flushing: CDB : Error -30974, can't open database
2017-04-28 01:53:15 ERROR: ProcessNewBlock : ActivateBestChain failed
2017-04-28 01:53:15 ConnectBlock: hashPrev=525bc3028ffb1aa06c7f519f2356ed11aa4cc7aafa5cc91c615dfa645846b70b view=c71f2128a0cdc44f90771a8a4df294ad58a5a010e67280f5040af109ba415eb2
2017-04-28 01:54:25 AppInit2 : parameter interaction: -listen=0 -> setting -discover=0

What version of PIVX Core are you using?

2.2+

Incomplete DNS Seeder coding

https://github.com/PIVX-Project/PIVX/blob/master/src/chainparams.cpp#L144-L146

        vSeeds.push_back(CDNSSeedData("coin-server.com", ""));
        vSeeds.push_back(CDNSSeedData("s3v3nh4cks.ddns.net", ""));
        vSeeds.push_back(CDNSSeedData("178.254.23.111", ""));

The 3 lines referenced here are incomplete. The empty quoted string being pushed to CDNSSeedData is supposed to be the FQDN addresses of the seeder (with the first quoted string acting as an identifier).

Simple enough to fix by filling in the second set of quotes, ex:

        vSeeds.push_back(CDNSSeedData("coin-server.com", "coin-server.com"));
        vSeeds.push_back(CDNSSeedData("s3v3nh4cks.ddns.net", "s3v3nh4cks.ddns.net"));
        vSeeds.push_back(CDNSSeedData("178.254.23.111", "178.254.23.111"));

*Note: the third entry, while it "works" given an IP address, is considered a non-standard DNS request.

Application locked when switching from 'Masternodes' to 'Overview' tab.

The application locked when switching from 'Masternodes' to 'Overview' tab.

Version: PIVX Core version v2.1.4.0-9efddca (64-bit)
OS: Fedora 25

This happened the first time I ran this specific new version of the wallet, and before I set the theme to the default. I will update here if I am able to reproduce the issue. The debug.log file had no errors at all. Just this seemingly unrelated warning.

"GUI: libpng warning: iCCP: known incorrect sRGB profile."

In the attached image you can see the 'Overview' button shows as selected, but it locked up and didn't switch. I had to 'Force Quit' (In Linux) and that meant replacing the chain too for the next time I started it.

locked

Version 2.2.0 arm version Crash.

After update to the last version 2.2.0 from 2.1.7 my raspberry, I'm getting the following error:

pivxd: main.cpp:2300: bool ConnectBlock(const CBlock&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

After the error the process crash.

My raspberry is a raspberry 2 Modelo B with raspbian version 8

Default transaction filter policy doesn't include payments-to-self

The COMMON_TYPES filter used to exclude Obfuscation spam transactions does not properly include transactions in the SendToSelf category.

Transactions who's whole value have origination AND destination address(es) that are mine (aka, controlled by the wallet) will not show up in the Overview page's Recent Transactions list nor the Common Types filter in the Transactions page.

Inconsistent results from DNS Seeds

This has been addressed by #58, but documenting it here for versions prior to the change:

The three pseudo DNS Seeders that were in use prior to the PR above were actually single nodes. Given the influx of new clients on the network, these nodes quickly reached their connection limits and were denying new connections; resulting in a situation where a fresh client would be stuck with zero connections.

"Generated but not accepted minted" transactions never clear from Overview Screen

I have received a number of "Generated but no accepted minted" transactions and they are crowding the Overview Screen of the pivx-qt ver 2.1.7.0 wallet running on Raspberry Pi 3b x-windows GUI. When I receive a new transaction, it falls to the very bottom of the Overview Screen because the "generated but not accepted minted" transaction never clear from the screen and are never pushed out of view. Please fix this bug so that bad blocks eventually get pushed out of view.

please send any Bug Bounty pivx to address: D5Uf9bMNCrhLH9uquy8mBr5A9QnqudZQKQ
image

wallet 2.2 x86_64 on linux won't start

Describe the issue

I am using a LinuxMint 18.1 64bit Cinnamon PC, AMD 4xcore; till know i've used the 2.1.3 version in the last months with uptimes of 10-30days without any issue;
now I downloaded Pivx 2.2 wallet + resynced wallet from scratch (as blockchain was corrupted after update)
after that Sync- all was fine (total Balance correct) - restarted PC and after that, pivx wallet won't start; with several Linux kernels 4.8 - Version 49; Version 46...

Error message i always get is:
pivx-qt: main.cpp:2300: bool ConnectBlock(const CBlock&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.
Aborted

Can you reliably reproduce the issue?

If so, please list the steps to reproduce below:

1.yes, see above, with several kernels
2.
3.

Expected behavior

wallet should start and stake as before

Actual behavior

wallet abort

Screenshots.

If the issue is related to the GUI, screenshots can be added to this issue via drag & drop.

What version of PIVX Core are you using?

v2.2.0 linux-x86_64 - downloaded from github

Machine specs:

  • OS: LinuxMint 18.1 64 bit - Cinnamon
  • CPU: 4core AMD
  • RAM: 5 GB
  • Disk size: 1 TB
  • Disk Type (HD/SDD): HDD

Any extra information that might be useful in the debugging process.

debug.log - pastebin link:
https://pastebin.com/f5CT8pj1

Minted Transactions Showing Watch-only Icon

Inconsistent behavior, this doesn't occur all the time but should never occur UNLESS the address involved has been imported as a watch-only address (importaddress RPC/Console command).

This is what shows incorrectly on the overview page's recent transaction list:
screen shot 2017-03-24 at 3 00 58 pm

Qt4 Compatibility broken by QJson* includes

The QJson* functionality used in the trading dialog is only available in Qt5+. However, the current build system defaults to Qt4 (if available) which results in a compile error.

This isn't a problem for release builds, or when using --with-gui=qt5 as a configure flag (provided that Qt5 is available), but is in conflict of the stated dependency versions.

Illegal instruction - in ARM binaries

i don't know, are these bins for raspberry pi 2, 3 or both? I have rpi 2

$ uname -a
Linux raspberrypi 4.4.50+ #970 Mon Feb 20 19:12:50 GMT 2017 armv6l GNU/Linux
$ file pivxd
pivxd: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=219665deddfb094eaa28c775e682b8d3af6251ab, stripped
$ ./pivxd
Illegal instruction

PIVX Core Version v2.2.0 i18n GUI Problem: german caption overlaying radio button

Describe the issue

In the german version of "PIVX Core Version v2.2.0 (64-Bit)" pivx-qt wallet, you cannot click on intelligent transaction fees because the german caption of this radio button is too long.

Expected behavior

You should be able to select intelligent fees but when you click on the corresponding radio button, nothing happens because it is overlayed by its caption.

Actual behavior

You cannot select intelligent transaction fees with the mouse, the only way is to use the keyboard (TABs and arrow keys). Resizing the window does not help.

Screenshot.

unbenannt

Proposal

You should make the caption clickable, like in HTML (http://stackoverflow.com/questions/6293588/how-to-create-an-html-checkbox-with-a-clickable-label). This would be much more user-friendly.

What version of PIVX Core are you using?

PIVX Core Version v2.2.0 (64-Bit)
I downloaded it today (29 April 2017) from the PIVX website.

Machine specs:

  • OS: Debian 8

Reindexing results in a segfault

Describe the issue

Attempting a reindex will result in a segfault due to a NULL pindexPrev from the genesis block in CheckWork. This was addressed previously, but a regression made it resurface.

Can you reliably reproduce the issue?

If so, please list the steps to reproduce below:

  1. (Re)Start wallet with -reindex

Expected behavior

Reindexing should process the block data already stored on disk, rebuilding the chain.

Actual behavior

The genesis block doesn't have a previous index entry (expected), but CheckWork uses it in it's logging output, causing a segfault.

What version of PIVX Core are you using?

v2.2.0 Release

Machine specs:

  • OS: All
  • CPU: Any
  • RAM: N/A
  • Disk size: N/A
  • Disk Type (HD/SDD): All

Any extra information that might be useful in the debugging process.

Issue is known, and a fix is already in the works. Just adding an issue here for visibility's sake.

Crashing 2.2.0

OS: OSX El Capitan
PIVX: 2.2.0

Crashing when trying to send obfuscated funds:

LOG
************************
EXCEPTION: St13runtime_error
CDB : Error -30974, can't open database
pivx in Runaway exception

screen shot 2017-04-19 at 10 40 46 pm

Latest OpenSSL 1.1.0e incorrectly detected as LibreSSL during build

Describe the issue

After updating to OpenSSL 1.1.0e I can no longer build. configure fails with:

configure: error: Detected LibreSSL: This is NOT supported, and may break consensus compatibility!

I don't have LibreSSL anywhere on my system though. I tried configure --with-libressl which runs successfully but then make fails:

Making all in src
make[1]: Entering directory '/mnt/tank/projects/PIVX/src'
make[2]: Entering directory '/mnt/tank/projects/PIVX/src'
  CXX      libbitcoinconsensus_la-allocators.lo
  CXX      primitives/libbitcoinconsensus_la-transaction.lo
  CXX      crypto/libbitcoinconsensus_la-hmac_sha512.lo
  CXX      crypto/libbitcoinconsensus_la-scrypt.lo
  CXX      crypto/libbitcoinconsensus_la-sha1.lo
  CXX      crypto/libbitcoinconsensus_la-sha256.lo
  CXX      crypto/libbitcoinconsensus_la-sha512.lo
  CXX      crypto/libbitcoinconsensus_la-ripemd160.lo
  CXX      libbitcoinconsensus_la-eccryptoverify.lo
  CXX      libbitcoinconsensus_la-ecwrapper.lo
ecwrapper.cpp: In function ‘int {anonymous}::ECDSA_SIG_recover_key_GFp(EC_KEY*, ECDSA_SIG*, const unsigned char*, int, int, int)’:
ecwrapper.cpp:62:28: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
     if (!BN_add(x, x, ecsig->r)) {
                            ^~
In file included from ecwrapper.h:11:0,
                 from ecwrapper.cpp:5:
/usr/include/openssl/ec.h:1044:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
ecwrapper.cpp:118:34: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
     if (!BN_mod_inverse(rr, ecsig->r, order, ctx)) {
                                  ^~
In file included from ecwrapper.h:11:0,
                 from ecwrapper.cpp:5:
/usr/include/openssl/ec.h:1044:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
ecwrapper.cpp:123:31: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
     if (!BN_mod_mul(sor, ecsig->s, rr, order, ctx)) {
                               ^~
In file included from ecwrapper.h:11:0,
                 from ecwrapper.cpp:5:
/usr/include/openssl/ec.h:1044:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
ecwrapper.cpp: In member function ‘bool CECKey::Recover(const uint256&, const unsigned char*, int)’:
ecwrapper.cpp:221:31: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
     BN_bin2bn(&p64[0], 32, sig->r);
                               ^~
In file included from ecwrapper.h:11:0,
                 from ecwrapper.cpp:5:
/usr/include/openssl/ec.h:1044:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
ecwrapper.cpp:222:32: error: invalid use of incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
     BN_bin2bn(&p64[32], 32, sig->s);
                                ^~
In file included from ecwrapper.h:11:0,
                 from ecwrapper.cpp:5:
/usr/include/openssl/ec.h:1044:16: note: forward declaration of ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
 typedef struct ECDSA_SIG_st ECDSA_SIG;
                ^~~~~~~~~~~~
make[2]: *** [Makefile:6085: libbitcoinconsensus_la-ecwrapper.lo] Error 1
make[2]: Leaving directory '/mnt/tank/projects/PIVX/src'
make[1]: *** [Makefile:6949: all-recursive] Error 1
make[1]: Leaving directory '/mnt/tank/projects/PIVX/src'
make: *** [Makefile:592: all-recursive] Error 1

What version of PIVX Core are you using?

Latest master, commit id 6b5cf7f

Machine specs:

  • OS: Arch Linux

Any extra information that might be useful in the debugging process.

config.log here

Recent Transactions not sorted by date

Recent staking transactions are not showing up on the main GUI. In the transactions tab, they show up but are much lower in the list. At the top of the list are a lot of transactions with question mark icons.

Total Field incorrectly shows Available Amount

Example Scenario:

  • Using Windows client.
  • Wallet currently has 1 PIV.
  • Wallet is receiving 50 PIV, and arrives as "Pending".

Issue:

  • UI incorrectly displays the following:
    • Available: -49
    • Pending: 50
    • Total: 1

Expected Output:

  • UI should display the following:
    • Available: 1
    • Pending: 50
    • Total: 51

It would seem the Total label is outputting what should be the Available amount, and then therefore incorrectly calculating the actual Available label at the top.

Can't unlock remote masternode with version 2.2.0

After migrated remote masternode an client to 2.2.0. I can't start remote masternode because it gives the error Wallet is locked. In the client 2.2.0 I unlock wallet but when I execute masternode start-all the wallet lock and returns the error wallet is locked. With masternode version 2.2.0 and client 2.1.7 I can start remote masternode without problem.
The OS of the masternode is Debian and the OS of the client is Debian also.

Forking issue after wallet crash

Windows wallet freezes with not responding error. After wallet reboots without a re-sync, it forks about a day later.
These are some of the errors in the Debug log:

2017-01-19 20:38:57 Masternode payment enforcement is disabled, accepting block
2017-01-19 20:38:57 ERROR: GetTransaction : txid mismatch
2017-01-19 20:38:57 ERROR: CheckProofOfStake() : INFO: read txPrev failed
2017-01-19 20:38:57 WARNING: ProcessBlock(): check proof-of-stake failed for block 16478feec1376d463ebad2daf1be802d85f2a179ce2c4708713df08e3cce36e1
2017-01-19 20:38:57 ERROR: ProcessNewBlock : AcceptBlock FAILED
2017-01-19 20:39:05 CActiveMasternode::ManageStatus() - Checking inbound connection to '192.168.2.10:51472'
2017-01-19 20:39:05 CActiveMasternode::GetMasterNodeVin - Could not locate specified vin from possible list
2017-01-19 20:39:05 CActiveMasternode::ManageStatus() - Could not find suitable coins!
2017-01-19 20:39:05 connected to self at 192.168.2.10:50742, disconnecting
2017-01-19 20:39:08 block time=1484828811 adjusted time=1484858346 is proof of stake=1
2017-01-19 20:39:08 CMasternodePayments::IsTransactionValid - Missing required payment of 14.175 to DTnUpDheD7TKw6vXYRmq7YU9cdZd6X5Bn5
2017-01-19 20:39:08 Invalid mn payment detected CTransaction(hash=f80d6a877e, ver=1, vin.size=1, vout.size=3, nLockTime=0)
CTxIn(COutPoint(7106914c89749f98b236c0d808e14064aacf19b64d90e31757f24071f03ebbce, 1), scriptSig=3045022100b013cb2d50b830)
CTxOut(nValue=0.00000000, scriptPubKey=)
CTxOut(nValue=2691.09487508, scriptPubKey=02b0f4977acaa0cf02343018d84d73)
CTxOut(nValue=13.95000000, scriptPubKey=OP_DUP OP_HASH160 f864c091e7c0)

2017-01-19 20:39:08 Masternode payment enforcement is disabled, accepting block
2017-01-19 20:39:08 ERROR: GetTransaction : txid mismatch
2017-01-19 20:39:08 ERROR: CheckProofOfStake() : INFO: read txPrev failed
2017-01-19 20:39:08 WARNING: ProcessBlock(): check proof-of-stake failed for block 16478feec1376d463ebad2daf1be802d85f2a179ce2c4708713df08e3cce36e1
2017-01-19 20:39:08 ERROR: ProcessNewBlock : AcceptBlock FAILED
2017-01-19 20:39:42 dumpaddr thread stop
2017-01-19 20:39:42 opencon thread interrupt
2017-01-19 20:39:42 msghand thread interrupt
2017-01-19 20:39:42 addcon thread interrupt
2017-01-19 20:39:42 keypool return 3185
2017-01-19 20:39:42 ThreadStakeMinter() error
2017-01-19 20:39:42 ThreadStakeMinter exiting,
2017-01-19 20:39:42 stakemint thread exit
2017-01-19 20:39:42 net thread interrupt
2017-01-19 20:39:42 PrepareShutdown: In progress...
2017-01-19 20:39:42 RPCAcceptHandler: Error: The I/O operation has been aborted because of either a thread exit or an application request
2017-01-19 20:39:42 StopNode()
2017-01-19 20:39:42 UPNP_DeletePortMapping() returned : 0
2017-01-19 20:39:42 upnp thread interrupt
2017-01-19 20:39:42 Verifying mncache.dat format...
2017-01-19 20:39:42 Loaded info from mncache.dat 172ms
2017-01-19 20:39:42 Masternodes: 1392, peers who asked us for Masternode list: 0, peers we asked for Masternode list: 5, entries in Masternode list we asked for: 28, nDsqCount: 580
2017-01-19 20:39:42 Writting info to mncache.dat...
2017-01-19 20:39:43 Written info to mncache.dat 64ms
2017-01-19 20:39:43 Masternodes: 1326, peers who asked us for Masternode list: 1, peers we asked for Masternode list: 0, entries in Masternode list we asked for: 280, nDsqCount: 1537
2017-01-19 20:39:43 Masternode dump finished 244ms
2017-01-19 20:39:43 Verifying budget.dat format...
2017-01-19 20:39:43 Loaded info from budget.dat 138ms
2017-01-19 20:39:43 Proposals: 12, Budgets: 0, Seen Budgets: 12, Seen Budget Votes: 5100, Seen Final Budgets: 0, Seen Final Budget Votes: 0
2017-01-19 20:39:43 Writting info to budget.dat...
2017-01-19 20:39:43 Written info to budget.dat 30ms
2017-01-19 20:39:43 Budget dump finished 195ms
2017-01-19 20:39:43 Verifying mnpayments.dat format...
2017-01-19 20:39:43 Loaded info from mnpayments.dat 167ms
2017-01-19 20:39:43 Votes: 16007, Blocks: 1741
2017-01-19 20:39:43 Writting info to mnpayments.dat...
2017-01-19 20:39:43 Written info to mnpayments.dat 25ms
2017-01-19 20:39:43 Budget dump finished 197ms
2017-01-19 20:39:43 Shutdown: done
GUI: Could not parse stylesheet of object 0x4e2ce80
GUI: Could not parse stylesheet of object 0x4e2ce80
GUI: libpng warning: iCCP: known incorrect sRGB profile
GUI: setGeometry: Unable to set geometry 6x16+360+144 on QWidgetWindow/'QLabelClassWindow'. Resulting geometry: 148x16+360+144 (frame: 9, 38, 9, 9, custom margin: 0, 0, 0, 0, minimum size: 0x0, maximum size: 16777215x16777215).
GUI: "registerShutdownBlockReason: Successfully registered: DarkNet Core didn't yet exit safely..."
2017-01-19 20:50:16

Crash after corrupted block database

When App is opened with a corrupted block index, App asserts in Boost's recursive_mutex.hpp lock function
Assertion failed: (!pthread_mutex_unlock(&m)), function unlock, file /usr/local/include/boost/thread/pthread/recursive_mutex.hpp, line 118.
void lock()
{
BOOST_VERIFY(!pthread_mutex_lock(&m));
}

Later it asserts at the same place without even notifying about corrupted block database

Transaction tab missing filter type: Minted

Under transaction tab in the second column there is a list of different types of transactions that can be filtered out. However one type that is missing is the "Minted" type, there is one called "Mined" but that one does not apply to the Pivx wallet.

c++11 boost compilation errors

Boost gets compilation errors when compiling on c++11

libbitcoin_server.a(libbitcoin_server_a-init.o): In function `copy_file': /usr/include/boost/filesystem/operations.hpp:384: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)' libbitcoin_wallet.a(libbitcoin_wallet_a-walletdb.o): In function `copy_file': /usr/include/boost/filesystem/operations.hpp:381: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)' collect2: error: ld returned 1 exit status make[1]: *** [pivxd] Error 1

Subtraction error when funds are recieved.

Example:
When you have, let's say, 500 PIV available, and recieve 25, it won't show your total as 525. It would show it as 475 total with 25 pending and 450 confirmed.

Intended result: 500 confirmed, 25 pending, 525 total.

crypto/scrypt.cpp:39:20: error: redefinition of 'be32enc' on FreeBSD

Building on FreeBSD gives the following error:

Making all in src
gmake[1]: Entering directory '/usr/home/clint/PIVX/src'
gmake[2]: Entering directory '/usr/home/clint/PIVX/src'
  CXX      libbitcoinconsensus_la-allocators.lo
  CXX      primitives/libbitcoinconsensus_la-transaction.lo
  CXX      crypto/libbitcoinconsensus_la-hmac_sha512.lo
  CXX      crypto/libbitcoinconsensus_la-scrypt.lo
crypto/scrypt.cpp:39:20: error: redefinition of 'be32enc'
static inline void be32enc(void *pp, uint32_t x)
                   ^
/usr/include/sys/endian.h:157:1: note: previous definition is here
be32enc(void *pp, uint32_t u)
^
1 error generated.
gmake[2]: *** [Makefile:6103: crypto/libbitcoinconsensus_la-scrypt.lo] Error 1
gmake[2]: Leaving directory '/usr/home/clint/PIVX/src'
gmake[1]: *** [Makefile:7009: all-recursive] Error 1
gmake[1]: Leaving directory '/usr/home/clint/PIVX/src'
gmake: *** [Makefile:592: all-recursive] Error 1

Pivx wallet crashed on Raspberry Pi 3

I installed a fresh Raspbian Jessie on RPi3, and installed the Pivx wallet https://github.com/PIVX-Project/PIVX/releases/download/v2.2.0/pivx-2.2.0-arm-linux-gnueabihf.tar.gz

The wallet ran fine, was able to sync. I replaced my backup wallet, and start staking. There was a green symbol indicating everything was fine. Then I left the wallet running. After few hours, I checked again and didn't see the wallet running anymore.

debug.log

2017-04-22 03:44:51 PIVX version v2.2.0 (2017-04-18 19:35:06 -0700)
2017-04-22 03:44:51 Using OpenSSL version OpenSSL 1.0.1k 8 Jan 2015
2017-04-22 03:44:51 Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2017-04-22 03:44:51 Default data directory /home/pi/.pivx
2017-04-22 03:44:51 Using data directory /home/pi/.pivx
2017-04-22 03:44:51 Using config file /home/pi/.pivx/pivx.conf
2017-04-22 03:44:51 Using at most 125 connections (65536 file descriptors available)
2017-04-22 03:44:51 Using 4 threads for script verification
2017-04-22 03:44:51 Using wallet wallet.dat
2017-04-22 03:44:51 init message: Verifying wallet...
2017-04-22 03:44:51 CDBEnv::Open: LogDir=/home/pi/.pivx/database ErrorFile=/home/pi/.pivx/db.log
2017-04-22 03:44:51 Bound to [::]:51472
2017-04-22 03:44:51 Bound to 0.0.0.0:51472
2017-04-22 03:44:51 init message: Loading block index...
2017-04-22 03:44:51 Opening LevelDB in /home/pi/.pivx/blocks/index
2017-04-22 03:44:51 Opened LevelDB successfully
2017-04-22 03:44:51 Opening LevelDB in /home/pi/.pivx/chainstate
2017-04-22 03:44:51 Opened LevelDB successfully
2017-04-22 03:47:45 LoadBlockIndexDB: last block file = 3
2017-04-22 03:47:45 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=27575, size=29155261, heights=582461...610041, time=2017-04-02...2017-04-22)
2017-04-22 03:47:45 Checking all blk files are present...
2017-04-22 03:47:45 LoadBlockIndexDB: Last shutdown was prepared: false
2017-04-22 03:47:45 LoadBlockIndexDB: Inconsistent State Detected mapBlockIndex.size()=610083 blockFileBlocks=610042
2017-04-22 03:47:45 LoadBlockIndexDB: lastIndexPos=29194079 blockFileSize=29155261
2017-04-22 03:47:45 LoadBlockIndexDB: Attempting to re-add last block that was recorded to disk
2017-04-22 03:47:45 LoadBlockIndexDB: Last block properly recorded: #610040 333b0f7684d76535007737725d77ec724b61270f95d2135b3809ad5e42bc68e0
2017-04-22 03:47:46 ConnectBlock: hashPrev=79b646cb62c67b25d213adb44092934561aee299b2aecbf13f2f8ef2e8d56000 view=79fa6d88a44837c2c0e73ffcb6c2caa134cce06f47332865954a0b65c03ed3d6

Db.log is empty

pivxd segfault on FreeBSD

After staking for about 20 hours, pivxd died with signal 11.

The backtrace from the core dump is below:

#0  0x0000000000ca31f9 in CMasternodePayments::CleanPaymentList (this=0x131d028) at masternode-payments.cpp:626

#1  0x0000000000beef69 in ThreadCheckObfuScationPool () at obfuscation.cpp:2270
#2  0x000000000054c698 in boost::_bi::list0::operator()<void (*)(), boost::_bi::list0> () at bind.hpp:198
#3  0x000000000054c638 in boost::_bi::bind_t<void, void (*)(), boost::_bi::list0>::operator() () at bind.hpp:1294
#4  0x000000000054c5cc in boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(), boost::_bi::list0> >::run () at thread.hpp:116
#5  0x0000000801b70e94 in boost::thread::start_thread_noexcept () from /usr/local/lib/libboost_thread.so.1.63.0
#6  0x00000008032a6b55 in pthread_create () from /lib/libthr.so.3
#7  0x0000000000000000 in ?? ()
(gdb) 
#0  0x0000000000ca31f9 in CMasternodePayments::CleanPaymentList (this=0x131d028) at masternode-payments.cpp:626
#1  0x0000000000beef69 in ThreadCheckObfuScationPool () at obfuscation.cpp:2270
#2  0x000000000054c698 in boost::_bi::list0::operator()<void (*)(), boost::_bi::list0> () at bind.hpp:198
#3  0x000000000054c638 in boost::_bi::bind_t<void, void (*)(), boost::_bi::list0>::operator() () at bind.hpp:1294
#4  0x000000000054c5cc in boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(), boost::_bi::list0> >::run () at thread.hpp:116
#5  0x0000000801b70e94 in boost::thread::start_thread_noexcept () from /usr/local/lib/libboost_thread.so.1.63.0
#6  0x00000008032a6b55 in pthread_create () from /lib/libthr.so.3
#7  0x0000000000000000 in ?? ()

This binary was built from v2.1.6 (25bad68) with the patch in #73 applied.

Build fails with Boost < v1.58

libbitcoin_server.a(libbitcoin_server_a-init.o): In function `copy_file':
/usr/include/boost/filesystem/operations.hpp:384: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)'
libbitcoin_wallet.a(libbitcoin_wallet_a-walletdb.o): In function `copy_file':
/usr/include/boost/filesystem/operations.hpp:381: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)'

Potential fix in #64

Many Conflicts for Minted Transactions after Staking for 3 days

Hi,
I have a weird situation that I staked my coins for 3 days and I have mined twice successfully. but after that all minted transactions are in conflicts mode, I don't know what is going on !!!

Here is the pictures for the wallet.

screenshot from 2017-04-05 11-17-04

The Transactions:
screenshot from 2017-04-05 11-18-15

Conflicted Minted Address

  • DNh899QUfpDjcTHxFQr2ardaNxmMbMzS2H
  • DTX6jQQ8CaLg9obWHjk9TE6YqEyLfbP79A
  • DDkS3T1f6hbXF6ydF2uZy6kULmLCbEAzTE

Transactions

  • 954e9bf08726ae5641a328c93ebcb867127e8077b27043588204d9c4fb032052-000
  • 61ef36f3fb7c12535b87bcad58871d087f46f0818bb40b1867b1fbbecd39056a-000
  • 2a0b67e95bcacebca0be30cd0e7deb5f9bb9a82f2eb2377e3153be639a93a1a0-000
  • 0e8a10c551abcecc945e93cc51bf55872fba8d20bc0cd5fe40c40c358eabc376-000

Even so, I delete all blockchain and download the backup again, same issue still exists !!!

What do you think?

Thanks

[Wallet] Segmentation fault on masternode with --disablewallet

Describe the issue

Executing pivxd with options like masternode=1 disablewallet=1 causes a segmentation fault with no useful debug output.

Can you reliably reproduce the issue?

If so, please list the steps to reproduce below:

  1. Add disablewallet=1 to otherwise valid masternode configuration.
  2. Run pivxd.

Expected behavior

Program should throw InitError with useful troubleshooting information for user.

Actual behavior

Segmentation fault.

What version of PIVX Core are you using?

Self-compiled master commit id 41fdeaa

Machine specs:

  • OS: Tested on Debian, CentOS, and Arch Linux

Any extra information that might be useful in the debugging process.

See my PR for a proposed fix.

Adding more sorting options

There is no option to show only 'Minted' and 'Masternode reward' transactions but it would be very useful for profit accounting.

Reindex always fails with segfault

Currently, attempting a reindex causes an immediate segfault, making the intended functionality useless, and resulting in an unusable block index on disk.

Initial review has discovered that unprotected function calls may be to blame, specifically in ProcessNewBlock() and CheckWork()

Invisible checkbox for anonymization and staking only

Checkbox is invisible in the Unlock section entitled: For anonymization and staking only
Issue was present in both 2.1.7 and 2.2.0 wallets under arm-linux build running on Raspberry Pi ver 3b

image

PIVX bug bounty address D6wdF9EAznavqt5kdtA8aYQimTkkLsJsJ4

Wallet Error in Ubuntu

I'd like to report a bug with the wallet. It just failed out of the blue with:

pivx-qt: malloc.c:2392: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Aborted (core dumped)

I don't know your code, but I'd suggest you refactor that mega expression ...

My wallet is now stuck synchronising at 3 hours behind and does not progress ...

Masternode payout split my coin, invalidating my 10k tx, disabling masternode

Describe the issue

I received masternode payout, but for some reason my 10k masternode transaction inputs were spent (split into 2 chunks, back to me; DJ74owepQJXq1WTvY5wws31pVAVS91C6B1). This disabled my masternode.

see: http://www.presstab.pw/phpexplorer/PIVX/tx.php?tx=1b159d74f0a12150e6bc48a84c586d9fa00d7ef6d6236887abdf1316a97af94b

Transaction ID: 1b159d74f0a12150e6bc48a84c586d9fa00d7ef6d6236887abdf1316a97af94b
Included in Block: 613007
Transaction Time: 23 Apr 2017 23:11:03
Input 0 : 10000 is sent from DJ74owepQJXq1WTvY5wws31pVAVS91C6B1
Input Source: b98dd30d4489819c830d8181275430b670e586390873c5ee5328eeec841a81f9
Output 0 : CoinStake
Output 1 : 5004.49 sent to DJ74owepQJXq1WTvY5wws31pVAVS91C6B1
Output 2 : 4999.55998518 sent to DJ74owepQJXq1WTvY5wws31pVAVS91C6B1

Can you reliably reproduce the issue?

no. so far this is a one-off event.

Expected behavior

My masternode 10k tx should not be split. No one other than me should be able to 'spend' my coins.

Actual behavior

my coins were spent, splitting them into 2 chunks. this caused my masternode to stop operating as a masternode. (I am in the process of sending back to myself in a 10k chunk to re-start the masternode.)

What version of PIVX Core are you using?

2.2.0 pivxd/cli on linux for the masternode (Pivx Core Daemon version v2.2.0; Pivx Core RPC client version v2.2.0)
2.2.0 qt on windows for the controller wallet (PIVX Core version v2.2.0 (64-bit))

File dialogue disappears prior to completing backup.

I noticed this in the previous version as well, but was hoping it would go away with the latest update. I just noticed it again and mentioned it in the slack channel. I'm not sure how helpful this issue report will be since I can't really provide steps to reproduce it nor do I know what log files might be helpful to figure out what's going on.

Version: PIVX Core version v2.1.7.0-7c4e25a (64-bit) (Mac)

Problem: While staking, try to do a wallet backup. Sometimes while navigating to a save folder, the window just closes automatically prior to completing the save. I'm not sure if QT is repainting or what, but it's quite alarming when it happens, especially if you're not sure if your backup completed or not.

Deserialization or I/O error - ReadCompactSize() too large

2017-03-17 17:32:23 block time=1489706692 adjusted time=1489771943 is proof of stake=1 2017-03-17 17:32:23 ERROR: GetTransaction : Deserialize or I/O error - ReadCompactSize() : size too large 2017-03-17 17:32:23 ERROR: CheckProofOfStake() : INFO: read txPrev failed 2017-03-17 17:32:23 WARNING: ProcessBlock(): check proof-of-stake failed for block 302e0c73f8f5a28a49b1b54342f970700bab170f750781a8b8127ed41eefaeeb

Invisible text in wallet when using KDE color scheme with white text

Basically the title. Most of the text shows up okay except the menu bar and some of the text inside tables:

screenshot_20170414_182939

If I change the color scheme to something with black text or just highlight the table cell or menu item it shows up fine. I'm running Arch Linux with the latest KDE.

Blockchain Explorer menu item location

Currently, the Blockchain Explorer menu item is placed in the Trade menu, which is a bit confusing.

Maybe the Tools menu would be a better home for it?

[Staking] debug.log file growth while staking

While the wallet is staking, the debug.log file grows so fast, I run out of space in 12 hours. In 30 minutes, it grew to 2.4 GB. This is repeated over and over:

2017-03-25 07:34:59 ERROR: CheckProofOfWork() : hash doesn't match nBits
2017-03-25 07:34:59 ERROR: CheckBlockHeader() : proof of work failed
2017-03-25 07:34:59 ERROR: CheckBlock() : CheckBlockHeader failed

debug.log

This is my pivx.conf file:

rpcuser=<username>
rpcpassword=<password>
rpcallowip=127.0.0.1
server=1
listen=1
testnet=0
rpcallow=1
daemon=1
gen=1
stake=1
staking=1
debug=0
addnode=coin-server.com

Running PIVX on Ubuntu 16.04

Crashing QT Wallet 2.2.0

Random crashes. was staking fine for a few days and then has shut down. This was using the latest x86 64bit QT wallet and a fresh sync.

The debug.log said absolutely nothing out of the ordinary. the last section log was of a new masternode entry. browsed up and could see no errors what so ever.

I did however find this in my sys log when fuzzballs said a segfault usually would be shown.

Apr 20 09:38:46 james-pc kernel: [4119915.138705] pivx-qt[31302]: segfault at f31ff01c ip 000000000836d8c2 sp 00000000ff9ce4d0 error 6 in pivx-qt[8048000+1d97000]

I am testing again. deleted everything and starting a sync from scratch again. Same wallet.dat.

This crashing has happened with me with all new pivx wallets i have tested. I have tried ubuntu 14, 16 and have gone back to linux mint for ease of use. It was the same issue with all of them but never checked logs (or knew how, Linux noob) so not sure if it was same issue.

Machine specs:

  • OS: Linux mint 18.1 but tried with ubuntu 14 and 16
  • CPU: 6800k
  • RAM: 128gb
  • Disk size/type: 3 x 500gb ssds

2.2.0 out of drift?

having some probs with masternode. this is the damon exe. checking through the logs i see:

2017-04-28 08:22:22 Masternode payment is out of drift range. Paid=4.95 Min=8.10
2017-04-28 08:22:22 CMasternodePayments::IsTransactionValid - Missing required payment of 8.10 to DUD2pQSDvhADhQKYCG92XPMqWQJDAkD597
2017-04-28 08:22:22 Invalid mn payment detected CTransaction(hash=139e06368f, ver=1, vin.size=1, vout.size=3, nLockTime=0)
CTxIn(COutPoint(9fc86e14e251b88b09a96a93fb4cfcee7037e30bee7f79f4ad19c295ed2fd30c, 1), scriptSig=30440220422bf14ad7dd81fd)
CTxOut(nValue=0.00000000, scriptPubKey=)
CTxOut(nValue=3143.99996824, scriptPubKey=03de93c655a7dca45d4bcf9e8335b7)
CTxOut(nValue=4.95000000, scriptPubKey=OP_DUP OP_HASH160 fd0973421f16)

2017-04-28 08:22:22 ERROR: CheckBlock() : Couldn't find masternode/budget payment
2017-04-28 08:22:22 ERROR: ProcessNewBlock : CheckBlock FAILED
2017-04-28 08:22:22 Misbehaving: [2001:19f0:7402:1cd::1]:51472 (0 -> 100) BAN THRESHOLD EXCEEDED

not sure what has happened.

pivx-qt: main.cpp:2461: bool ConnectBlock(const CBlock&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

akhavr@yoga14 ~/src/PIVX $ git status   
On branch master
Your branch is up-to-date with 'origin/master'.
nothing added to commit but untracked files present (use "git add" to track)

akhavr@yoga14 ~/src/PIVX $ git log | head -1
commit 7c4e25aa74ae1ed1cbcf24865d0250ba93a7898c

akhavr@yoga14 ~/src/PIVX $ LANG=C src/qt/pivx-qt 
pivx-qt: main.cpp:2461: bool ConnectBlock(const CBlock&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.