GithubHelp home page GithubHelp logo

navcoin / navcoin-core Goto Github PK

View Code? Open in Web Editor NEW
123.0 123.0 92.0 34.84 MB

bitcoin-core 0.13 fork ported for NavCoin

License: MIT License

Makefile 0.56% Shell 0.74% M4 0.81% Python 5.69% Roff 0.02% QMake 0.01% C++ 38.29% C 16.56% HTML 0.08% Objective-C++ 0.02% Java 0.18% Assembly 36.08% Prolog 0.01% CMake 0.26% Sage 0.16% JavaScript 0.13% TypeScript 0.04% C# 0.24% Go 0.14% SWIG 0.01%
bitcoin cryptocurrency navcoin privacy-enhancing-technologies

navcoin-core's Introduction

Navio Core integration/staging tree

Navio Core is a fork of Bitcoin Core. This repository hosts the source code for the next version of Navio Core, which is not ready for production yet.

https://nav.io

For an immediately usable, binary version of the Navio Core software, see https://nav.io/get-started.

Further information about Navio Core is available in the doc folder, the wiki and the documentation website.

What is Navio?

Navio is an experimental digital currency that enables privacy-enhanced payments to anyone, anywhere in the world. Navio uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network using a private proof of stake protocol. Navio Core is the name of open source software which enables the use of this currency.

License

Navio 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 Navio 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 lots 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 Navio 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.

navcoin-core's People

Contributors

0x2830 avatar aguycalled avatar alex-free avatar alexeyneu avatar arirudd avatar chasingkirkjufell avatar colvano avatar dantudor avatar djksa avatar dy5es41 avatar francisjyap avatar garretlaxton avatar ggorjup avatar hdnsimpson avatar jimipedros avatar kierenhyl avatar kolbyml avatar kritzefitz avatar lordhace avatar marcus290 avatar matt-auckland avatar michelvankessel avatar mxaddict avatar navcoindev avatar onlyoneadam avatar proletesseract avatar r-marino avatar red010b37 avatar taskula avatar zanuka 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

navcoin-core's Issues

gettransaction failing for transactions made by other wallets

gettransaction is working for txid's generated by the same wallet.

looking up transactions made by other wallets results in:

error code: -5
error message:
Invalid or non-wallet transaction id

Also related;

getrawtransaction of the same remote transaction id returns a hex value, but then decoderawtransaction is unable to decode resulting in:

error code: -22
error message:
TX decode failed

Navtech Get Info after Removed Server

If i remove a navtech server then click the "get info" button the wallet exits. Seems like it is failing because there is no server selected in the list.

Fix: hide the "get info" button after removing the navtech server.

Error when running navcoin-cli and navcoin-qt

When I attempt to run any of the files in the /bin folder, to install nav, it results in this error being displayed.
./navcoin-qt: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory

I have tried about 10 methods to fix this problem that I have found on the interweb and none of them have worked. This seems quite important as it is completely preventing me from running the nav client on my computer. Thanks
-Alex

Navtech Get Info Doesn't Show Amounts or Tx Fee

When i select a server and click getinfo, i get the address displayed, but hte min amount, max amount and tx fee are empty.

Fix: show the correct values as returned by the server.

Note: Possibly change the icon from the red "error" ! to some kind of "info" icon if it was successful.

NAVTech GUI Send

Get the GUI to send NAVTech private payments using the same scripts as the RPC calls.

orphan stake shown as with 'black' characters as opposed to grey in transactions tab

sort of mute glitch, but bringing it to your attention anyways.

Here is how to reproduce:

  1. highlight (click on) an orphan staked block in transactions tab
  2. now click on a separate tab withing the wallet (ex. home,send or recieve) or open a window within file list etc..
  3. go back to the 'transactions' tab.

on step 3, you will now see the orphan stake within the transactions tab is no longer highlighted and has black font just as all the other transactions. If you now click on any transaction within the tab, the improperly 'font-ed' orphan stake will turn back to grey as it should be.

very low priority on this.

Thanks.

Un-focus input fields when click elsewhere occurs

When I select an input field on the client and then click somewhere else in order to un-focus the field, it does not do so. This is quite common behaviour for an app to unfocus when a click occurs on another element.

GUI not scaling in 4k display

"I have installed the new 4.0 wallet and have found it to be incorrectly scaled for 4k resolution(all smushed and illegible). It correctly displays in size when I drag to my secondary 1080p resolution monitor."

undefined symbol: SSLeay

trying to run navcoin-qt on arch linux. i get:
./navcoin-qt: symbol lookup error: ./navcoin-qt: undefined symbol: SSLeay
thanks

Stake Status Icon hard to see.

I like the power blue/grey button but it is not oblivious to some .
Increase size of icon an maybe put a Yes or No after it?

windows 64 qt crashes on win 10

2 different pc both low end cpu 1 intlel atom other is amd brazios
both were on insider preview versions of win 10. resetting amd unit to non insider version will try again

intel is 4 gig amd is 2 gig

NAVTech Server & Hash GUI

Build a pane which allows users to manage their NAVTech servers without editing their navcoin.conf

Also, pre-populate with the official Nav Coin NAVTech Servers.

Removed check for maturity of coinstake

Related to f0754fe

There's a big inconsistency on early transactions on NavCoin blockchain. Some of them spend the CoinStake below the limit dictated by consensus rules.

Example:

Tx id: 7172f6d2fc35a16000e16dbeb507712461e06867da99eda161446641cb27c9b5 on block 295
Spends output from block 292.

Clearly the maturity requirement of 50 blocks is here not fulfilled. It is not the only case across the first blocks.

The requirement of a minimum of maturity before spending mined coins was initially related to coinbase transactions and is inherited from Bitcoin code. Its finality is to prevent the no existence of coins to broadcast when blocks are orphaned during an hypothetical fork. This check is causing some sync issues during initial block download on different clients.

Considering this, NavCoin context and for sanity, the referenced commit removes this check.

Variable NavTech Fee

  • GUI slider for fee amount
  • Attach fee to encrypted NavTech data.
  • Add option to anonsend RPC call

NavTech time delay

  • GUI option to select time delay (minutes, hours, days)
  • Add time delay option to encrypted NavTech data
  • Add option to anonsend RPC call

Translations

Translations of the gui need to be completed.

Multiple Output Addresses

  • GUI option to add multiple output addresses
  • Add multiple output addresses to encrypted NavTech data
  • Add option to anonsend RPC call

some RPC commands are not reporting proper information.

There seems to be issues with the functions that report staking weight and difficulty. This is confirmed on Linux and Windows 64-bit builds( but guessin gall builds have same issue)

I noticed this in the following commands:
getdifficulty: always returns '1'
getstakinginfo: the 'weight' is MUCH larger than the 'netstakeweight'

example of getstakinginfo:
{
"enabled": true,
"staking": true,
"errors": "",
"currentblocksize": 1000,
"currentblocktx": 0,
"difficulty": 1,
"search-interval": 16,
"weight": 5017705683536,
"netstakeweight": 2224731261,

"expectedtime": 0
}

Assertion fails when terminating process

Related to termination of staking thread.

Assertion failed: (!pthread_mutex_lock(&m)), function lock, file /usr/local/include/boost/thread/pthread/recursive_mutex.hpp, line 113.

navcoin-qt segfaults on linux

Tried with Arch and with Ubuntu. Recompiling from source doesn't help, and still results in:
SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xa0000028}

Improve GUI

Skin the wallet to look more like the existing wallet in terms of buttons colors, icons and logos.

v4.0.4 to support NavTech v1.2

NavTech 1.2 will address the metadata inference of NavTech transactions when the system is running at low volume. We will be implementing multiple output addresses, variable fees, time delays and dummy transactions.

The Nav Coin Core wallet will require some updates to support the NavTech v1.2 release

NAVTech RPC

Add all the required functionality to perform NAVTech transactions via RPC commands

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.