risevision / rise-node Goto Github PK
View Code? Open in Web Editor NEW:rainbow: RISE blockchain node
Home Page: http://rise.vision/
License: GNU General Public License v3.0
:rainbow: RISE blockchain node
Home Page: http://rise.vision/
License: GNU General Public License v3.0
Parent: #69
Currently the history of the repo was taken away when the code was first committed.
It would be nice and ethically correct, even if this means to fix #14 and possibly other issues, to clone lisk and apply rise patches to it so that the whole project history comes back to life and proper code attribution gets restored.
After to test logic/vote I've noticed that the validation of votes is poor because only verify if trs.asset.votes is null, and do not use all the power that schema validation offer.
Parent: #87
Sinon FakeTimers are not working correctly in this context, requires more investigation
Parent: #69
Parent: #69
Testing logic/transaction module I've noticed that verify() function is using a variable named 'requester' but never is declared.
https://github.com/RiseVision/rise-node/blob/development/logic/transaction.js#L439
Researching about this issue I've discovered that on Lisk version this variable is received as parameter.
https://github.com/LiskHQ/lisk/blob/development/logic/transaction.js#L365
Should we to do the same?
My node is stuck on block height 127764. Error log:
[inf] 2017-07-25 05:05:55 | Loading blocks from: 46.231.207.144:5555
[ERR] 2017-07-25 05:05:55 | Expected generator: 7067a911f3a4e13facbae9006b52a0c3ac9824bdd9f37168303152ae49dcb1c0 Received generator: c7fc699fa4feabb3709f12c08121ee890ec30ffa379eaa248827a8c4d30bdef7
[inf] 2017-07-25 05:05:55 | Fork - {"delegate":"c7fc699fa4feabb3709f12c08121ee890ec30ffa379eaa248827a8c4d30bdef7","block":{"id":"12125977497836395916","timestamp":36847200,"height":127765,"previousBlock":"12407067451403830263"},"cause":3}
Parent: #69
The problem
Currently testnet
and master
are not sharing the same history. The two branches were created separately. This means that, in order to merge info from one to another, we need to do a full-code merge with a lot of conflicts.
The solution
We should:
development
branch from mastertestnet
testnet
branch from development
testnet
modifications such as config.json
and genesis
files.From that we'll work on development
only (using pull requests) and we'll later merge on testnet/master accordingly.
After to test logic / vote I have noticed that the validation of votes is poor because only verify if trs.asset.votes is null, and do not use all the power that schema validation offer.
Here the list of missing unit tests for typescript branch:
./rise_manager.bash: line 55: syntax error near unexpected token >' ./rise_manager.bash: line 55:
sudo apt-get install -y -qq curl build-essential python lsb-release wget openssl autoconf libtool automake libsodium-dev &>> $logfile || '
How to fix it?
Max OS Sierra
This is a test issue ๐ค
Testing countById() function at logic/transfer module, I've noticed that if self.scope.db.one() returns a reject Promise, the code fail when try to call to...
this.scope.logger.error(err.stack);
because the "this" inside the "catch()" clause has not access to the scope.
Parent: #69
Parent: #69
Testing logic/block I've noticed that logic/block validation schema allow additional properties when you try to validate an object. In my opinion schema validation should reject any object with additional properties for to keep integrity.
Parent: #69
Parent: #69
Hi team @RiseVision/developers
I would like to get your feedback about an issue.
At line
https://github.com/RiseVision/rise-node/blob/feature/typescript/src/modules/loader.ts#L303
TSLint is reporting that the next expression
emitBlockchainReady = !!emitBlockchainReady;
could be simplified to
emitBlockchainReady = emitBlockchainReady;
I think that we could remove that line because if emitBlockchainReady value is TRUE we will get the same value after apply NOT operator (!) two times.
What do you think about it?
Thanks in advance!
Parent: #69
Testing logic/block I've noticed that calculateFee() is not working properly. There are an issue when we try to get the fee.
Currently is trying to get the fee so:
return constants.fees.send;
but according with the constants module the correct way should be:
return constants.fees[0].fees.send;
Parent #69
Parent: #69
Parent: #69
Once #68 is done, a migration file should be created.
Parent: #69
test
[ERR] 2017-10-30 12:55:30 | Expected generator: 7067a911f3a4e13facbae9006b52a0c3ac9824bdd9f37168303152ae49dcb1c0 Received generator: c7fc699fa4feabb3709f12c08121ee890ec30ffa379eaa248827a8c4d30bdef7
[inf] 2017-10-30 12:55:30 | Fork - {"delegate":"c7fc699fa4feabb3709f12c08121ee890ec30ffa379eaa248827a8c4d30bdef7","block":{"id":"12125977497836395916","timestamp":36847200,"height":127765,"previousBlock":"12407067451403830263"},"cause":3}
Parent #69
I tried to install the rise-node on my raspberry pi and that's what I get:
pi@raspberrypi:~/rise-node $ ./rise_manager.bash install
RISE installer script. Version: 1.0.0
Running: apt-get update... done.
Running: apt-get install curl build-essential python lsb-release wget openssl autoconf libtool automake libsodium-dev... Could not install packages prerequisites. Exiting.
pi@raspberrypi:~/rise-node $ ./rise_manager.bash start
Starting Rise..../rise_manager.bash: line 308: forever: command not found
./rise_manager.bash: line 317: psql: command not found
Block height =
Parent: #69
IF a block is loaded and contains a tx which is not valid. all subsequent transactions are not applied (But the ones before are).
the tx may pass the first logic.transaction.verify
but fail on applyUnconfirmed
causing such error.
One scenario is user sending diff tx with cumulative neg weight. verify will pass but applyUnconfirmed will not. (Correct)
Testing logic/vote I found that schema validation allows additional properties and is not verifying votes values.
We should to add a restriction for avoid additional properties in the schema for to keep integrity and we should add validation for to verify that votes values has a correct format.
Right now we are tied to rise_manager.
We should set up a bundling system with something like jenkins to properly package compiled source code so that we can get rid of rise_manager updating system.
After test logic/vote I've noticed that the method dbRead() of logic/vote is not validating properly if raw.v_votes is a string and if we don't receive a string it will threw an uncaught exception.
Parent: #69
In logic/vote module we are using this.scope in some parts of code but was never declared.
For example:
https://github.com/RiseVision/rise-node/blob/development/logic/vote.js#L260
https://github.com/RiseVision/rise-node/blob/development/logic/vote.js#L312
Parent: #69
Parent: #69
Since we're going to rewrite the whole thing just remove everything:
Parent: #69
Parent #69
logic/block unit test fail after remove additionalProperties from Block.schema
Parent #69
We need to make sure we use a consistent coding style.
src
folder should be compliant with ts-lint enforced rules which automatically enforces a lot of coding styles.Example: here properties are clustered but clusters are not sorted alphabetically and also properties within cluster may not.
rise-node/src/modules/blocks/chain.ts
Lines 22 to 53 in dea9512
It is great that we have a script which does everything. If we only had that script in the rise-node repo, that would be great.
Parent: #69
Error during install : Installing postgresql... Could not install postgresql. Exiting.
On Raspberry pi3 Stretch
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.