Giter VIP home page Giter VIP logo

veriumreserve / verium Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bitcoin/bitcoin

19.0 9.0 11.0 252.92 MB

Verium Core integration/staging tree

Home Page: http://www.vericoin.info

License: MIT License

Makefile 1.14% Shell 1.20% QMake 0.01% Python 12.27% C++ 60.07% C 7.71% Objective-C++ 0.05% HTML 0.20% Objective-C 0.03% Assembly 14.80% M4 1.91% Scheme 0.06% Java 0.28% Sage 0.28%

verium's Introduction

Verium integration/staging tree

Build Status

https://www.vericonomy.com

What is Verium?

Verium is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Verium uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Verium is the name of open source software which enables the use of this currency.

For more information, as well as an immediately useable, binary version of the Verium software, see https://www.vericonomy.com.

ChangeLog

Each release come along with a Release Notes.
For previous release you can find them in the Release-Notes Directory

Documentation

All the documentation can be found in the Doc Directory.
You will find information such as:

  • How to build Verium Vault
  • Release Notes
  • Development Process
  • ...

License

Verium 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 and tested, but is not guaranteed to be completely stable. Tags are created regularly to indicate new official, stable release versions of Verium.

Current official Verium release is on branch 1.3.2.

The contribution workflow is described in CONTRIBUTING.md.

The developer mailing list should be used to discuss complicated or controversial changes before working on a patch set.

Developer IRC can be found on Freenode at #verium-core-dev.

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, that are run automatically on the build server. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The Travis CI system makes sure that every pull request is built for Windows, Linux, and OS X, 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.

verium's People

Contributors

achow101 avatar cozz avatar empact avatar fanquake avatar gavinandresen avatar gmaxwell avatar hebasto avatar instagibbs avatar jamesob avatar jnewbery avatar jonasschnelli avatar jtimon avatar kallewoof avatar ken2812221 avatar laanwj avatar luke-jr avatar mderasse avatar meshcollider avatar morcos avatar non-github-bitcoin avatar paveljanik avatar petertodd avatar practicalswift avatar promag avatar pstratem avatar ryanofsky avatar sdaftuar avatar sipa avatar thebluematt avatar theuni avatar

Stargazers

 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

verium's Issues

getwork is invalid from cpuminer (per the wiki's instructions)

I have rpc working over my network, and i can do minerstart, etc locally. When i run cpuminer (effectstocause version, as well as 1.3 and 1.4) with -P:
[2021-04-24 10:32:07] JSON protocol request: {"method": "getwork", "params": [], "id":0}
then the http header dump, then the json response is:
[2021-04-24 10:32:07] JSON protocol response: { "error": { "message": "Method not found", "code": -32601 }, "result": null, "id": 0 }

now, there exist verium pools, so i know it's possible (somehow) to mine in a pool, is solo mining disabled against veriumd?

I've tried this on linux with CLI only and windows with the GUI.

if i do --no-stratum --no-getwork i get an error
Unrecognized block version: 7

Sorry if this is a mishmash, i've been trying to get this to work for a month or two on various platforms. I've previously run mining pools (including with stratum) - so i'm at a loss, here. it seems like my verium wallets are broken or misconfigured.

Allow pool mining based from wallet GUI

Pool mining currently is exclusive to running a cli miner.

Benefits:
Any user of an official verium wallet could mine on any pool without the need to run an alternative mining application.
More mining adoptions. Solo mining is great, but pool mining gets rewards faster, or at least more consistently.
Ease of use. Some users will never be comfortable running a cli application. Efforts should be made to make this coin as easy to use as possible, as that will drive adoptation.

Last Transactions float out of bounds

Expected behavior
This bug/issue is related to the GUI version of the wallet. In the Last Transactions tab some transactions float out of the expected bounds.

Actual behavior
Expected behavior is that all transactions should be presented in the bounds of the Last Transactions area.

To reproduce
Open the Verium Vault AppImage on a 4K monitor with i3-gaps. I am not using a traditional desktop environment so this might be the reason.

System information

  • Hardware: Dell XPS 9370
  • OS: Ubuntu 20.04.1 LTS x86_64
  • DE/WM: i3-gaps
  • Kernel: 5.4.0-47-generic
  • Resolution: 3840x2160
  • CPU: Intel i7-8550U (8) @ 4.000GHz

Coinbase TX Time at 0

In 1.3.1, when the wallet find a block it create a coinbase transaction (that's normal). but the time of that transaction is at 0.

Wallet slow on Mojave

Hi,

There are few reports of slowness of the wallet on Mojave.
The wallet is so slow that it's impossible to use it.

Need investigation & fix.

Verium Wallet - Capital letters with "shift" key not working when entering password

Sorry, not sure where to put this issue, so I put it here, feel free to move it later.

Device: Macbook Pro, Mac OS Catalina

The issue:
When you keep shift key and try to type capital letter for password, nothing happens. I catched myself couple times trying to type in password, and ended up copying-pasting. That way it works. I guess some other people may have problems with it, and be afraid they lose access to their wallet.

Doc - Add Node

In the rpc help for the addnode command, the bitcoin port is showing up.

Examples:
> verium-cli addnode "192.168.0.6:8333" "onetry"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "addnode", "params": ["192.168.0.6:8333", "onetry"] }' -H 'content-type: text/plain;' http://127.0.0.1:33987/
 (code -1)

We should replace 8333 by 36988

--disable-wallet during build still seems to require berkeley DB libraries

Created a dockerfile (work in progress), does not want to build. Complaining about berkeley DB4_cxx.h not found.

FROM ubuntu:latest

RUN apt update -y &&
apt upgrade -y

RUN apt-get install -y git

install packages needed to build vericoind

RUN apt install -y
build-essential
libtool
autotools-dev
automake
pkg-config
libssl-dev
libevent-dev
bsdmainutils
libcurl4-openssl-dev
zlib1g-dev
libminizip-dev
libboost-all-dev

python3

install additional packages

RUN apt install -y iftop lsb-release multitail pax-utils tree unzip vim wget

RUN git clone -v https://github.com/VeriumReserve/verium.git ~/verium

install Berkeley DB 4.8

RUN cd ~/verium &&
./contrib/install_db4.sh ~/verium

configure build

RUN export BDB_PREFIX="${HOME}/verium/db4" &&
cd ~/verium/ &&
./autogen.sh &&
./configure --disable-wallet
--enable-hardening
--without-gui
--without-miniupnpc
--with-pic
--prefix=$BDB_PREFIX
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8"
BDB_CFLAGS="-I${BDB_PREFIX}/include"

run the build

RUN cd ~/verium/ &&
make &&
make install

RUN cp ~/verium/src/veriumd /usr/bin/

RUN strip /usr/bin/veriumd

EXPOSE 36988

CMD ["veriumd"]

GUI Miner not starting

Expected behavior
When clicking the GUI miner icon the miner should start.

Actual behavior
When clicking the GUI miner icon the miner doesn't start, doesn't use any CPU resources and displays 0 hashrate and 0 expected days for a reward.

System information

  • Hardware: Dell XPS 9370
  • OS: Ubuntu 20.04.1 LTS x86_64
  • DE/WM: i3-gaps
  • Kernel: 5.4.0-47-generic
  • Resolution: 3840x2160
  • CPU: Intel i7-8550U (8) @ 4.000GHz

Consensus - Transaction Time

In the 1.3.1 Version, a check is missing on the Transaction time.
There is no special impact in a normal workflow but it's a diff from the 1.2 consensus check.

But since we have the issue #138, it create invalid block

Add Dockerfile to project

Just what the title mentions. I would like to host a verium node by running it in docker. Would like to have Docker being part of the project.

This is my work in progress, which fails because it can't find the db4_cxx.h even though i disable wallet support:

FROM ubuntu:latest

RUN apt update -y &&
apt upgrade -y

RUN apt-get install -y git

install packages needed to build vericoind

RUN apt install -y
build-essential
libtool
autotools-dev
automake
pkg-config
libssl-dev
libevent-dev
bsdmainutils
libcurl4-openssl-dev
zlib1g-dev
libminizip-dev
libboost-all-dev

python3

install additional packages

RUN apt install -y iftop lsb-release multitail pax-utils tree unzip vim wget

RUN git clone -v https://github.com/VeriumReserve/verium.git ~/verium

install Berkeley DB 4.8

RUN cd ~/verium &&
./contrib/install_db4.sh ~/verium

configure build

RUN export BDB_PREFIX="${HOME}/verium/db4" &&
cd ~/verium/ &&
./autogen.sh &&
./configure --disable-wallet
--enable-hardening
--without-gui
--without-miniupnpc
--with-pic
--prefix=$BDB_PREFIX
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8"
BDB_CFLAGS="-I${BDB_PREFIX}/include"

run the build

RUN cd ~/verium/ &&
make &&
make install

RUN cp ~/verium/src/veriumd /usr/bin/

RUN strip /usr/bin/veriumd

EXPOSE 36988

CMD ["veriumd"]

bad-tx-timestamp consensus check

Hi,

Few miners are running into an error on the consensus check that generate a seg fault

2020-10-24T23:16:16Z ERROR: TestBlockValidity: Consensus::CheckBlock: bad-tx-timestamp, block timestamp earlier than transaction timestamp (code 16)

We need to allow a +/- 2h diff like we have on block.

Automatic transactions, feature for Future?

Hello , it hink good feature was , send transaktion on defination Days/times.
Example: you take automic send Coins every first day in month or only 1 transaktions on defination day/time.

VRM transaction fee is yet very small really nice ๐Ÿ‘

Next Idea was, set different percent on vrm rewards/solomining , with automatic send to different addresses. Example:
I set 5% from my vrm reward (Mining) to Coinadresse from vrm developer and 20 % to coinaddress to my Wife or different Organisation.
So that when next reward comes, that this percent from Reward automatic send directly to this adresses from my wallet, or with defination time on specified day.

This feature was also good for vrc wallet and for staking , but not for every stake reward this reward are to small :)

this gives also more circulating coins on Network.

what you know?

Using -upgradewallet flag crashes wallet

Expected behavior
Upgrade wallet from non HD to HD.

Actual behavior
Wallet crashes with the following error

makis@XPS13:~$ ./verium.AppImage -upgradewallet


************************
EXCEPTION: St13runtime_error       
DeriveNewSeed: AddKeyPubKey failed       
verium in Runaway exception       

verium.AppImage: /home/build-vrm/verium/depends/x86_64-linux-gnu/share/../include/boost/thread/pthread/condition_variable_fwd.hpp:85: boost::condition_variable::~condition_variable(): Assertion `!ret' failed.
Aborted (core dumped)
makis@XPS13:~$

To reproduce
./verium.AppImage -upgradewallet

System information

  • Hardware: Dell XPS 9370
  • OS: Ubuntu 20.04.1 LTS x86_64
  • DE/WM: i3-gaps
  • Kernel: 5.4.0-47-generic
  • Resolution: 3840x2160
  • CPU: Intel i7-8550U (8) @ 4.000GHz

Start Wallet Miner with cli version

the comand: "verium-cli minerstart 1 " not worked

the Miner start only with : curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "minerstart", "params": [1] }' -H 'content-type: text/plain;' http://127.0.0.1:33987/

And take Mining Arguments like --ryzen or AVX/AVX2 for that. an Version 1.3.2 the Miner start only with AVX . On intel CPUs decrease the Hashrate over 50% Example: My 12core Xeon mined only with 2800H/m 24threads on version 1.3.2. with FirewormMiner coded with Avx2 it mined with 5400H/m

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.