Giter VIP home page Giter VIP logo

lisk-sdk's People

Contributors

2snem6 avatar 4miners avatar bobanm avatar diego-g avatar francoilol avatar has5aan avatar incede avatar ishantiw avatar jondubois avatar karmacoma avatar lsilvs avatar lucasisasmendi avatar maciejbaj avatar manugowda avatar mehmetegemen avatar michielmulders avatar mitsuaki-u avatar mosmartin avatar nazarhussain avatar pablitovicente avatar phanco avatar sargekhan avatar shuse2 avatar sitetester avatar toschdev avatar tschakki avatar valamidev avatar vitaly-t avatar willclarktech avatar yatki 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

lisk-sdk's Issues

API POST or PUT with huge payload not handled correctly

This is weakness and can at best induce a slowdown of the network with simple DDoS attack:

Enter the command line and do
curl -X POST -d @yourfavoritemovie.avi http://ip.of.your.node:port/api/transactions

The server will handle the whole upload before realising the file is too big. Multiply by 1000... and server bandwidths are killed before you realise that you are attacked.

However if you have a nginx proxy handling the request, the POST will fail before the whole file is transmitted. It could be fixed in the node app, but there would be many more issues to handle that are solved by... an http proxy.

I think at least the install procedure should come with mandatory nginx installation and configuration.

Remove all useless api that are duplicates of lisk-js functionalities

Since you can create transactions using lisk-js, i would consider insecure and useless to keep them active.
Would also solve #10

list of apis to remove

  • POST /api/account/open
  • POST /api/accounts/generatePublicKey
  • POST /api/delegates/forging/enable
  • POST /api/delegates/forging/disable
  • POST /api/multisignatures/sign
  • PUT /api/accounts/delegates
  • PUT /api/transactions
  • PUT /api/signatures
  • PUT /api/messages
  • PUT /api/accounts/username
  • PUT /api/contacts
  • PUT /api/dapps
  • PUT /api/multisignatures
  • POST /api/multisignatures/sign

Not all are reflected in lisk-js I would advice to migrate al these API everything on lisk-js

Virgin field in mem_accounts virtual table never gets populated

The virgin boolean field, which is part of the mem_accounts virtual table never gets populated with a value, so looks to be an incomplete implementation. It is also redundant, as the same information can be attained by inspecting producedBlocks.

Looking at the following instance where it's used, a delegate will never be classed as an "outsider", even though they actually might be.

https://github.com/LiskHQ/lisk/blob/1f294e4c416d93274eba168ca5b369a0f516369e/modules/delegates.js#L769

We will therefore schedule it's removal, and refactor the affected code.

Unknown transaction type: 9 - solved

This issue references the issue #4, which was closed.
After compiling the new lisk-cli, and recreating the genesisBlock.json I still get the error:

$ node app.js
log 2016-03-23 22:39:44 Lisk started: 0.0.0.0:7000
error 2016-03-23 22:39:52 saveBlock Unknown transaction type: 9
fatal 2016-03-23 22:39:52 [Unknown transaction type: 9]

The reason is the created transaction in the geneses with the wrong transaction type 9.
If I change the type there manually to "type": 5, everything seems to work

Active delegates and forging

If the active delegate, which should forge the next block, is not ready or not forging, then the next available delegate should forge the block immediately. Currently it seems there is a kind of timeout. In the example below only 2 of the 101 active delagates are forging. The result are blocktimes up to ten minutes.
image

Lisk Loader API.

Is it possible to change "sync" to "syncing" so that it will be more intuitive for users?

{"success":true,"sync":false,"blocks":0,"height":410499}

need locktime and version for transaction

I want to implement a future transaction which can be updated before a locktime.
Why there were no the two fields in lisk transaction?
Do you have a plan on this feature?

Now I want to develop a gambling game app. I think I can't do ti without that feature

Issue with "git submodule update"

git submodule update
Cloning into 'public'...
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is ######*#
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Clone of '[email protected]:LiskHQ/lisk-ui.git' into submodule path 'public' failed

guestBook Example crashed while submitting new entry

new dapp block id: 11676784247852398241 height: 134 via point: 430941

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

transactionsSync timer No peers in db

info 2016-04-03 16:27:57 Check blockchain on 104.156.254.116:7000 
Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

transactionsSync timer No peers in db

log 2016-04-03 16:28:00 Recieved new block id: 1330181692556271794 height: 430942 slot: 3115608 reward: 500000000 
info 2016-04-03 16:28:00 Removing peer POST http://194.151.78.72:7000/peer/blocks 
info 2016-04-03 16:28:00 Removing peer POST http://194.151.78.72:7000/peer/transactions 
info 2016-04-03 16:28:01 Removing peer POST http://91.246.70.118:7000/peer/transactions 
info 2016-04-03 16:28:01 Removing peer POST http://87.106.127.28:7000/peer/transactions 
info 2016-04-03 16:28:01 Removing peer POST http://109.153.180.57:7000/peer/transactions 
Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

Error: Error: near line 220477: UNIQUE constraint failed: dapp_8565618818751641866_transactions.id


Error: This socket has been ended by the other party
    at Socket.writeAfterFIN [as write] (net.js:297:12)
    at /root/lisk-0.1.2-Linux-x86_64/node_modules/lisk-sandbox/index.js:113:24
    at /root/lisk-0.1.2-Linux-x86_64/node_modules/async/lib/async.js:987:13
    at Immediate.q.process [as _onImmediate] (/root/lisk-0.1.2-Linux-x86_64/node_modules/async/lib/async.js:953:21)
    at processImmediate [as _immediateCallback] (timers.js:367:17)
info 2016-04-03 16:28:08 Dapp 8565618818751641866 closed  
info 2016-04-03 16:28:08 Encountered error in dapp 8565618818751641866 Error: This socket has been ended by the other party 
info 2016-04-03 16:28:08 Dapp 8565618818751641866 closed  

Partition API over two ports (one of peers, other for client)

There is, I think, a potential weakness in the lisk client.
All interaction with the client goes over port 7000. The communication is not encrypted, so the whole internet can track it.
For the peering API this is necessary and ok, but not for the other node and dapp APIs.
For example, the transmission of the passphrase (secret) should always be encrypted (e.g. /api/accounts/open). That should be also true for the GUI (I don't know, if secrets are directly transmitted).
For all this the SSL access is available and should be forced to use.
Suggestion:

  • Divide the necessarily exposed (open) API (e.g. /api/peers) from all other APIs -> two different ports
  • The node operator can decide to bind the second port to localhost or to all (0.0.0.0)

I config.json I found the two options "serveHttpAPI" and "serveHttpWallet". Perhaps they were intended for a similar purpose, but I found no usage in the lisk/crypti sources.

Wrong dapp transaction type

With one of the last commits the transaction types were revised.
The lisk-cli tool must also be updated, it creates still invalid entries in the genesis with "type": 9, this must be changed to the new dapp type 5.

Delegate usernames should be case-insensitive

Currently delegate usernames are case-insenstive, meaning for example, "MyDelegate" and "mydelegate" would result in two delegate usernames being registered. Needs to be fixed :)

Use lisk-js library

lisk-js should be used in common in nodes for all the transactions creation. Maintainability would greatly improve.

Dapp crashed on forging node while other node accessed blocks

Let's say we have nodes
A - Forging node Dapp
B - fresh node which have installed dapp.

While node B

dapp loading process pid 24280

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js:

dapp loaded process pid 24280

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js:

blocks 1
current 0

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js:

blockchain loaded

log 2016-04-03 09:12:40 Recieved new block id: 10459133828029609000 height: 430524 slot: 3115156 reward: 500000000
Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js:

loop skip slot

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js:

found blocks at 89.69.168.15:7000

info 2016-04-03 09:12:40 Removing peer POST http://194.151.78.72:7000/peer/blocks
warn 2016-04-03 09:12:40 Main queue 70
warn 2016-04-03 09:12:40 Main queue 69
warn 2016-04-03 09:12:40 Main queue 68
warn 2016-04-03 09:12:40 Main queue 67
warn 2016-04-03 09:12:40 Main queue 66
warn 2016-04-03 09:12:40 Main queue 65
warn 2016-04-03 09:12:40 Main queue 64
warn 2016-04-03 09:12:40 Main queue 64
warn 2016-04-03 09:12:40 Main queue 64
warn 2016-04-03 09:12:40 Main queue 63
warn 2016-04-03 09:12:40 Main queue 62
warn 2016-04-03 09:12:40 Main queue 61
warn 2016-04-03 09:12:41 Main queue 60
warn 2016-04-03 09:12:41 Main queue 59
warn 2016-04-03 09:12:41 Main queue 58
warn 2016-04-03 09:12:41 Main queue 57
warn 2016-04-03 09:12:41 Main queue 56
warn 2016-04-03 09:12:41 Main queue 55
warn 2016-04-03 09:12:41 Main queue 54
warn 2016-04-03 09:12:41 Main queue 53
warn 2016-04-03 09:12:41 Main queue 52
warn 2016-04-03 09:12:41 Main queue 51
warn 2016-04-03 09:12:41 Main queue 50
Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js:

load blocks after 1

info 2016-04-03 09:12:41 Check blockchain on 104.238.167.95:7000
info 2016-04-03 09:12:44 Removing peer POST http://87.106.127.28:7000/peer/blocks
error 2016-04-03 09:12:44 loadUnconfirmedTransactions timer Transaction already exists
Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js:

blockSync timer { code: 'ETIMEDOUT', connect: false }

Node A dapp crashed
http://pastebin.com/Y2SSAEhM

Seems that fetched blockchain has json formatting issue at block 104
"b_height": 104 % 2 C "b_payloadLength"

hope it's enough informations

SyntaxError: Unexpected token %
    at Sandbox._parse (/root/lisk-0.1.2-Linux-x86_64/node_modules/lisk-sandbox/index.js:42:24)
    at Sandbox.<anonymous> (/root/lisk-0.1.2-Linux-x86_64/node_modules/lisk-sandbox/index.js:193:9)
    at Array.forEach (native)
    at Sandbox._listen (/root/lisk-0.1.2-Linux-x86_64/node_modules/lisk-sandbox/index.js:192:9)
    at Socket.emit (events.js:107:17)
    at readableAddChunk (_stream_readable.js:163:16)
    at Socket.Readable.push (_stream_readable.js:126:10)
    at Pipe.onread (net.js:540:20)

Crash - Error: write EPIPE

warn 2016-04-04 15:48:41 Main queue 52
warn 2016-04-04 15:48:41 Main queue 51
warn 2016-04-04 15:48:41 Main queue 50
info 2016-04-04 15:48:43 Check blockchain on 207.7.93.100:7000 
log 2016-04-04 15:48:50 Recieved new block id: 13829360878945744520 height: 440620 slot: 3126173 reward: 500000000 
info 2016-04-04 15:48:50 Removing peer POST http://194.151.78.72:7000/peer/blocks 
info 2016-04-04 15:48:52 Check blockchain on 85.25.194.204:7000 
log 2016-04-04 15:49:00 Recieved new block id: 5608300980796720699 height: 440621 slot: 3126174 reward: 500000000 
Error: write EPIPE
bye bye

During normal usage with web interface

client crash

Today (5:11 UTC) somthing was wrong with my node. The node crashed, restarting was not possible because of IP addresses in use. If I look at the uptime values of the other delegates, almost all nodes were affected. Find my upstart log attached:

lisk.log.txt

Unfortunately the logs.log is not available.

Error: listen EADDRINUSE - after dapp crashed

Domain master { message: 'listen EADDRINUSE',
stack: 'Error: listen EADDRINUSE\n at exports._errnoException (util.js:746:11)\n at Server._listen2 (net.js:1158:14)\n at listen (net.js:1184:10)\n at net.js:1282:9\n at dns.js:85:18\n at process._tickDomainCallback (node.js:381:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3' }

It seems like sqlite is still running, after forcing sqlite to quit. Node starts correctly.

Dapp deposit fails

  • Using Lisk v0.1.4, development branch
  • I created a basic dapp using "lisk-cli dapps -a" without changes
  • starting the node
  • if I try to deposit the dapp using "lisk-cli dapps -d" (here with an amount of 100 LISK), the transaction seems successfull:
$ lisk-cli dapps -d
? Enter secret ****
? Enter amount 10000000000
? DApp Id 16924003274252134805
? Enter secondary secret (if defined) 
? Host and port localhost:7000
null { success: true, transactionId: '13688217344496871545' }
13688217344496871545

The transaction is credited, but seconds later reverted. Only the fee was applied. See screenshot.
image

Second Passphrase should be more secured

Right now the second passphrase is just hashed the same way as first passhprase.

Which means it should either:

  • follow bi39
  • be salted

I would rather use salt. Salt can be:

  • (first) publicKey
  • (first) privateKey

The latter sounds "more" secure. However you could expect some theoretical attacks, we are here in dangerous waters....

My prefered combination : salted bip39 with publicKey.

Code to review:

Also need to homogenize with lisk-js and lisk-ui

Browserify Fails

Running "browserify:release" (browserify) task

/root/lisk/public/node_modules/bitcore-mnemonic/node_modules/bitcore/node_modules/bn.js/lib/bn.js:1338
res = w === num ? 0 :
^
ParseError: Unexpected token
Warning: Error running grunt-browserify. Use --force to continue.

Using api without sending passphrase

In order to prevent from sending passphrase through the API, on opening an account, it should be done the following way.

  1. user request opening an account sending publicKey (/api/account/open?publicKey=...)
  2. server create a random token, encrypt it with publicKey and send it back
  3. user decrypt it with private key and send the token back to server (/api/account/open?publicKey=...&token=...
  4. server compare both tokens. If equals, the user is auth.

Ideally the IP should be matched, and token invalidated if IP change or after some time.

as for creating transactions, it should be clear in the doc that the API cannot be used safely, but lisk-js instead.

Improving network stability

these codes: https://github.com/LiskHQ/lisk/blob/bcfbba7628e8707aa8609fa3cd8a051874ec9342/modules/blocks.js#L1145
https://github.com/LiskHQ/lisk/blob/0210b792780cfda27a69a666c931fa6213aea7cd/modules/loader.js
https://github.com/LiskHQ/lisk/blob/0210b792780cfda27a69a666c931fa6213aea7cd/modules/delegates.js#L458

should be improved in order to prevent from network subnetworking, where peers are stuck in a fork thinking they are synced.

One way is to add a (previousBlockTime-currentServerTime) and check how big it is against the 10s blocktime (needs optimisation testing....). If too big, assign sync to true and look for new peers with higher block-height.

also this blocktime height estimation could be useful for the server to be aware of the network health (how many missed blocks for instance).

Connection IP address logging

It would be useful to log source IP addresses that successfully connect to the web interface. This can be used for DoS and bruteforce attack mitigation.

Node only (without web interface)

It would be a useful to implement an option which allows delegates to lock-down nodes for a single purpose only. Just a node. No web interface. No user interaction from the outside.

Security, XSS attack with iframe bypassing weak same-origin-policy

If in your dapp index.html you include this single frame

<iframe name="attackit" src="/"></iframe>

The dapp has access to the main dashboard using for instance:

$('[ui-sref="main.contacts"]', frames['attackit'].document)

And basically script whatever action in the LISK dashboard...

It is possible to prevent this by using a combination of those ideas:
http://stackoverflow.com/questions/2896623/how-to-prevent-my-site-page-to-be-loaded-via-3rd-party-site-frame-of-iframe

can't update submodule

sid@CryptoSiD:~/lisk# git submodule update
Cloning into 'public'...
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:LiskHQ/lisk-ui.git' into submodule path 'public' failed

dapp is not defined

Running node app.js suddenly resulted in

Domain master { message: 'dapp is not defined', stack: 'ReferenceError: dapp is not defined\n at /var/lisk/lisk/app.js:7:1031\n at /var/lisk/lisk/node_modules/async/lib/async.js:52:16\n at iterate (/var/lisk/lisk/node_modules/async/lib/async.js:260:24)\n at Object.async.forEachOfSeries.async.eachOfSeries (/var/lisk/lisk/node_modules/async/lib/async.js:281:9)\n at Object.async.forEachSeries.async.eachSeries (/var/lisk/lisk/node_modules/async/lib/async.js:214:22)\n at Object.B.launchApp (/var/lisk/lisk/app.js:7:606)\n at /var/lisk/lisk/app.js:6:31259\n at FSReqWrap.oncomplete (fs.js:95:15)' }

Launching the ICOconvert dapp from appstore crashes the whole node

After launching the dapp the full node (not only the dapp) crashes.
This is the last log:

{"level":"warn","message":"Main queue","timestamp":"2016-04-06 23:34:17","data":53}
{"level":"warn","message":"Main queue","timestamp":"2016-04-06 23:34:17","data":52}
{"level":"warn","message":"Main queue","timestamp":"2016-04-06 23:34:17","data":51}
{"level":"warn","message":"Main queue","timestamp":"2016-04-06 23:34:17","data":50}
{"level":"error","message":"loadUnconfirmedTransactions timer","timestamp":"2016-04-06 23:34:17","data":"Transaction already exists"}
{"level":"info","message":"Check blockchain on 181.28.143.243:7000","timestamp":"2016-04-06 23:34:19"}
{"level":"info","message":"Removing peer POST http://95.90.235.7:7000/peer/blocks","timestamp":"2016-04-06 23:34:20"}
{"level":"info","message":"Removing peer POST http://52.91.166.70:7000/peer/blocks","timestamp":"2016-04-06 23:34:20"}
{"level":"info","message":"Removing peer POST http://87.100.131.44:7000/peer/blocks","timestamp":"2016-04-06 23:34:20"}
{"level":"info","message":"Removing peer POST http://24.9.123.231:7000/peer/blocks","timestamp":"2016-04-06 23:34:20"}
{"level":"info","message":"Removing peer POST http://194.151.78.72:7000/peer/blocks","timestamp":"2016-04-06 23:34:20"}
{"level":"info","message":"Removing peer POST http://52.169.187.78:7000/peer/blocks","timestamp":"2016-04-06 23:34:20"}
{"level":"info","message":"Removing peer POST http://194.151.78.72:7000/peer/blocks","timestamp":"2016-04-06 23:34:20"}
{"level":"info","message":"Removing peer POST http://95.90.235.7:7000/peer/blocks","timestamp":"2016-04-06 23:34:24"}
{"level":"fatal","message":"Domain master","timestamp":"2016-04-06 23:34:28","data":{"message":"dapp is not defined","stack":"ReferenceError: dapp is not defined\n    at /opt/lisk/lisk-0.1.2-Linux-x86_64/app.js:7:1031\n    at /opt/lisk/lisk-0.1.2-Linux-x86_64/node_modules/async/lib/async.js:52:16\n    at iterate (/opt/lisk/lisk-0.1.2-Linux-x86_64/node_modules/async/lib/async.js:260:24)\n    at Object.async.forEachOfSeries.async.eachOfSeries (/opt/lisk/lisk-0.1.2-Linux-x86_64/node_modules/async/lib/async.js:281:9)\n    at Object.async.forEachSeries.async.eachSeries (/opt/lisk/lisk-0.1.2-Linux-x86_64/node_modules/async/lib/async.js:214:22)\n    at Object.B.launchApp (/opt/lisk/lisk-0.1.2-Linux-x86_64/app.js:7:606)\n    at /opt/lisk/lisk-0.1.2-Linux-x86_64/app.js:6:31259\n    at FSReqWrap.oncomplete (fs.js:95:15)"}}

app.css stylesheet definitions

Sorry, I haven't found the \public\static\css\app.css file in any repo, so I add this here.

It seems some stylesheet definitions in the app.css are something like strange.
Examples:

  • I added a checkbox to my dapp UI, but the box was not visible. I've found the reason in the belonging stylesheet: {position:absolute;left:-9999px;visibility:hidden} I had to overwrite the style locally
  • My textarea has a fixed width, this breaks all layout. I had to change it to width=100%

I am not familiar with stylesheets. I doing something fundamentally wrong?

Static fees vs dynamic fees

Currently in LISK we have static fees for delegate, dapp registration, sending tx etc..
It would be great to chose this value dynamically depending on some factors, price may go up in future and using LISK may become too expensive with particular functionalities.

API call needed for "producedblocks" and "missedblocks"

In order to properly understand the uptime relative to a node we need to be able to see producedblocks and missedblocks.

Please add an API call that includes both of these.

[(https://github.com/LiskHQ/lisk/blob/1f294e4c416d93274eba168ca5b369a0f516369e/modules/delegates.js#L766)]

malformed transaction posted on peer/transactions makes the server crash

Wondering why all servers of testnet recently crashed?

if you post a transaction similar to this (no recipientId)

{
  amount: 100000000,
  asset: {},
  fee: 10000000,
  id: "8233217121578014269",
  senderPublicKey: "5f7400e4c1ac021617fbc93bb9a51661855ce29d591896821252300ff1e437f3",
  signSignature: "8923786b20813bb9ac69e6c18a124918631dc3ea299d68428a8268000c979cebb2efc4441a7efa6713d09454b32d86292a6a7b22c49310bb64a674cc9b636008",
  signature: "0a42096400682a0389e5d61dcefa470be857dfdc38b44d0987b66658dbc596a39aaeea712896cbd78aca707ce9ad5fdff01576e0b466302711ff50b8dfc06001",
  timestamp: 30139064,
  type: 0
}

Boom!

details on the server log:

fatal Domain master { 
  message: 'Cannot read property 'toLowerCase' of undefined',
  stack: 'TypeError: Cannot read property 'toLowerCase' of undefined
             at l.verify (/home/liskdelegate/lisk-0.1.1-Linux-x86_64/app.js:10:19543)
             at l.verify (/home/liskdelegate/lisk-0.1.1-Linux-x86_64/app.js:13:646)
             at /home/liskdelegate/lisk-0.1.1-Linux-x86_64/app.js:11:1208
             at EventEmitter.<anonymous> (/home/liskdelegate/lisk-0.1.1-Linux-x86_64/app.js:12:29429)
             at Socket.<anonymous> (/home/liskdelegate/lisk-0.1.1-Linux-x86_64/node_modules/dblite/build/dblite.node.js:379:22)
             at Socket.emit (events.js:107:17)
             at readableAddChunk (_stream_readable.js:163:16)
             at Socket.Readable.push (_stream_readable.js:126:10)
             at Pipe.onread (net.js:540:20)'
 }

dapp system error { message: 'undefined is not a function'... Dapp can't download blocks from delegate node

Im running node with dapp from guestBook example. Which actually does not work, everything is fine locally, but when i tried to use dapp from different node it couldn't fetch blockchain

Anyone can install dapp currently on testnet -> http://localhost:7000/dapp/8565618818751641866
And reproduce issue.

dapp loading process pid 1930

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

dapp loaded process pid 1930

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

blocks 1
current 0

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

blockchain loaded

info 2016-04-03 10:10:53 Check blockchain on 188.166.161.239:7000 
Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

found blocks at 89.69.168.15:7000

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

load blocks after 1

incoming 37534 bytes
info 2016-04-03 10:10:56 Removing peer POST http://194.151.78.72:7000/peer/blocks 
info 2016-04-03 10:10:57 Removing peer POST http://109.153.180.57:7000/peer/transactions 
info 2016-04-03 10:10:57 Removing peer POST http://194.151.78.72:7000/peer/transactions 
info 2016-04-03 10:10:57 Removing peer POST http://194.151.78.72:7000/peer/transactions 
info 2016-04-03 10:10:57 Removing peer POST http://40.79.47.203:7000/peer/transactions 
log 2016-04-03 10:10:59 Recieved new block id: 2688780107953700387 height: 430847 slot: 3115506 reward: 500000000 
log 2016-04-03 10:10:59 Recieved new block id: 2688780107953700387 height: 430847 slot: 3115506 reward: 500000000 
log 2016-04-03 10:11:00 Recieved new block id: 2688780107953700387 height: 430847 slot: 3115506 reward: 500000000 
Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

loop skip slot

Debug /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/index.js: 

dapp system error { message: 'undefined is not a function',
  stack: 'TypeError: undefined is not a function\n    at Object.private.addAccount (/root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/modules/blockchain/accounts.js:74:30)\n    at Accounts.setAccountAndGet (/root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/modules/blockchain/accounts.js:168:21)\n    at Transactions.applyUnconfirmedTransaction (/root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/modules/blockchain/transactions.js:130:30)\n    at /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/modules/blockchain/blocks.js:507:36\n    at /root/lisk-0.1.2-Linux-x86_64/dapps/8565618818751641866/node_modules/z-schema/src/Report.js:45:13\n    at process._tickDomainCallback (node.js:381:11)' }

Cannot read property 'senderPublicKey' of undefined

Encountered the following fatal error, halting node:

fatal 2016-03-31 10:29:49 Domain master { message: 'Cannot read property \'senderPublicKey\' of undefined',
  stack: 'TypeError: Cannot read property \'senderPublicKey\' of undefined\n    at v.processUnconfirmedTransaction (/root/lisk/install/app.js:11:132)\n    at /root/lisk/install/app.js:8:14722\n    at /root/lisk/install/node_modules/async/lib/async.js:181:20\n    at iterate (/root/lisk/install/node_modules/async/lib/async.js:262:13)\n    at /root/lisk/install/node_modules/async/lib/async.js:274:29\n    at /root/lisk/install/node_modules/async/lib/async.js:44:16\n    at Immediate._onImmediate (/root/lisk/install/app.js:11:371)\n    at processImmediate [as _immediateCallback] (timers.js:367:17)' }

Fix slow syncing from peers

Currently the extremely slow rate at which nodes are syncing with other peers is having a detrimental effect on the network health, causing nodes to grind to a halt. Lets fix it ;)

More then 101 votes for delegates possible

After opening the client with the testnet genesis account (14837479272589364523L) there are 101 votes for the different genesisDelegates. I added a vote for my account (14837479272589364523L), so I had 102 in total. This should be a vote be too much...
The voted delegates are not shown, so I cannot remove votes.
see: http://i.imgur.com/JRkY2tH.png

Add optional data field with transaction

From an exchanges perspective the lisk system would be much easier to use if we could include a small amount of data with a transaction (a username or an id). This gives the ability to have 1 central account and provide users with some small simple data to include with any transaction which then allows deposits to be processed easily and efficiently. Instead of having thousands of accounts that we need to poll and then waste resources resending deposits to the exchanges master account.

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.