zack-bitcoin / amoveo Goto Github PK
View Code? Open in Web Editor NEWA blockchain for trust-free markets in financial derivatives
A blockchain for trust-free markets in financial derivatives
Running tests on Ubuntu 17.10 , Intel Xeon platform.
Ports 3013 and 3030 were still open after running make tests. Had to be closed manually
Failed 2 tests. Output below
======================================================================
FAIL: test_market (tests.test_market.MarketTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/media/2TB/GIT/testing/amoveo/tests/test_market.py", line 28, in test_market
self.request('new_channel_with_server', DEV_2_INT, [[127, 0, 0, 1], 3030, 27, 10000, 10001, 50, 4], sleep=0.04)
File "/media/2TB/GIT/testing/amoveo/tests/base.py", line 90, in request
return self._request(node, action, args, sleep)
File "/media/2TB/GIT/testing/amoveo/tests/base.py", line 96, in _request
self.assertEqual(response.status_code, 200)
AssertionError: 500 != 200
======================================================================
FAIL: test (tests.test_share_blocks.ShareBlocksTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/media/2TB/GIT/testing/amoveo/tests/test_share_blocks.py", line 13, in test
self.mine_block(DEV_2_INT, [1, 1], sleep=0.2)
File "/media/2TB/GIT/testing/amoveo/tests/base.py", line 48, in mine_block
return self._request(node, 'mine_block', args, sleep)
File "/media/2TB/GIT/testing/amoveo/tests/base.py", line 96, in _request
self.assertEqual(response.status_code, 200)
AssertionError: 500 != 200
-------------------- >> begin captured logging << --------------------
urllib3.connectionpool: DEBUG: Starting new HTTP connection (1): localhost
urllib3.connectionpool: DEBUG: http://localhost:3011 "POST / HTTP/1.1" 200 11
urllib3.connectionpool: DEBUG: http://localhost:3011 "POST / HTTP/1.1" 200 11
urllib3.connectionpool: DEBUG: Starting new HTTP connection (1): localhost
urllib3.connectionpool: DEBUG: http://localhost:3021 "POST / HTTP/1.1" 500 0
--------------------- >> end captured logging << ---------------------
We need software to make it easy to mine Amoveo with a GPU.
We also need instructions on how to set the miner up.
When I try to run sync:start(). , the following error is thrown :
sync with peer ** exception error: undefined function packer:pack/1
in function sync:start/1 (/home/***/Amoveo/amoveo/_build/prod/lib/ae_core/src/consensus/sync.erl, line 50)
Looking at the history, it might be because src/consensus/packer.erl is missing.
hi, I want invate you to https://github.com/amoveo-org as admin role, it named amoveo-org temporarily If you have a preferred name, we can rename it. feel for free. if you do not want to do this, it's also ok.
๐
I got a fresh clone about 10 minutes ago. I did the start:sync() and it sync'd for a while. It seems to stall out.
I can run api:height(). and it tells me 2254 which is the height that your Explorer web page shows, but I keep getting timeouts and getblock errors like the screenshot.
The pool also gives an error saying the node isn't sync'd.
My full node and pool are synced with your node (currently at block 468). They stayed in sync all day fine. I kicked off some mining tonight. When I found blocks, the height did not increase and balance of my node and miner did not increase. It's like the found blocks failed to commit. No one else is mining. Your node shows block 468 throughout my tests.
The full node has been spitting out errors like this screenshot. This is the output from finding one block. It appears to try the spend many times when the pool submits the block, but it's not successful.
I'm pretty certain my keys are unlocked as I did a few spends from my node earlier today.
(ae_core_prod@ivi3t4l-VirtualBox)32> api:balance().
3598233513
(ae_core_prod@ivi3t4l-VirtualBox)33> keys:id().
** exception error: undefined function keys:id/0
(ae_core_prod@ivi3t4l-VirtualBox)34> keys:pubkey().
<<4,79,113,118,99,248,182,217,226,159,200,119,192,217,46,
207,144,167,176,123,138,230,182,208,29,191,192,70,116,
...>>
(ae_core_prod@ivi3t4l-VirtualBox)35> keys:address().
** exception error: undefined function keys:address/0
(ae_core_prod@ivi3t4l-VirtualBox)36>
Hi Zack. I'm testing out the light wallet...
http://159.89.106.253:8080/wallet.html
I'm able to mine blocks but from time to time (seems a random occurrence) get the following error.
Failed to load http://159.89.106.253:8085/: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://159.89.106.253:8080' is therefore not allowed access. The response had HTTP status code 500.
OSX 10.13.2. Chrome Version 63.0.3239.132 (Official Build) (64-bit)
Screen shot: https://imgur.com/a/iCaqB
Hope this helps!
I was doing some mining, and thought I was noticing my miner wasn't always paid when a block was found.
I don't see anything unusual on the pool and miner console messages, but I saw "tx_pool_feeder died" right after some (but not all) of the node spend messages that indicate miner payouts.
I think the node is getting the block reward. The node balance is going up across block finds, but the payout seems to fail occasionally.
When running the c-miner locally on my full node, it runs as expected, eventually finds a block, then randomly stops and produces an error.
On the full node output, I get the following message, about 10 times in a very quick fashion (<2 seconds):
got this data
["mining_data"]
After the 10th or so message, the c-miner will return the following error:
cannot connect to server** exception error: no match of right hand side value 2
in function miner:talk_helper/3 (miner.erl, line 68)
in call from miner:start2/0 (miner.erl, line 36)
If I try to restart mining, I will get the same sequence of events, immediately.
Additionally, if I stop the full node properly and restart it (without deleting the database), then run "sync:start().", I get the following output:
(ae_core_prod@amoveo-node-01)1> sync:start().
ok
(ae_core_prod@amoveo-node-01)2> false 3
tx_pool_feeder died
Running the miner will produce the same sequence of events as explained above, immediately.
I hope this is helpful, if I can provide further detail, please let me know.
I was able to run the c-miner locally using 127.0.0.1:8081
I could not run the c-miner from another computer and point it at myserver:8080. I was able to hit other myserver:8080 endpoints such as pubkey and height, so the port was open fine.
I thought I might need to add a "doit" handler for mining_data in ext_handler.erl, but I didn't have luck doing that.
I'm not sure if the Light Node Wallet web page has the same or a different issue:
http://159.89.106.253:8080/wallet.html
I tried hitting the "mining_data" API on port 8080 and 8085 but no luck there.
I can do a spend_tx from the Erlang prompt, and I can do a spent_tx from the Light Wallet. I would like to do a spend_tx from a REST based command like curl.
I see the json sent via the light wallet. When I try to reproduce this with curl or c# or c++, I get a server 500 error.
The json in this screenshot appears to just be pub keys, so I'm guessing the priv key comes in to play somewhere and somehow that I'm not observing.
In case I'm going about this all wrong - my goal is to remotely make payments programatically (no Erlang prompt and no Light Wallet UI).
After running the testnet successfully for a few hours, and doing some transactions, I decided to test about 5-10 transactions of a smaller amount, successively and shortly after the site was inaccessible.
The block number was around 175
The first thing I try when approaching a new coin is to make a private key printable on paper.
When looking at the way passwords are handled, there should be an interactive version of any command that requires password of private key input. The command history is stored on disk and may present an attack vector for people trying to fins keys.
https://github.com/zack-bitcoin/amoveo/blob/master/docs/api/keys.md
Zack,
Where do you place spectre.ai on this chart or they the wrong part of the food chain?
Cheers Mark
I got my node synced and then started my local pool. It appears to have worked, but gave some odd console output:
I mined two blocks and got this crash dump on the pool and a bunch of "weir responses" on the node:
I think the "mine" might have worked though. My node wallet got some veo:
BIJw6vdb+BexSLCZQ7XZEsW6RDltxTrmbGkDbKb1yNPhOpngyKDAqBkGMKaa1ZEH9Bh2d7ezhTX6nhGBldFzEPU=
Are these errors or just scary console outputs?
In the After Dependencies section, should be cd amoveo not cd testnet
Balance error, if called before mine:start().
After running
make prod-go
make prod-attach
(ae_core_prod@HP-Z620)4> api:balance().
** exception error: {badrecord,acc}
in function accounts:balance/1 (/media/2TB/GIT/testing/amoveo/_build/prod/lib/ae_core/src/consensus/trees/accounts.erl, li
The error was the same after sync:start(). also
I stood up a fresh full node, and it appears to have an account with a balance. I mined two blocks. It credited the account on my full node, so that worked for me.
The pool appeared to pay out to the miner worker a 0.007 balance per block, which matches the code:
How do I set the account on the full node to something else? I tried several variations of keys:load but none had luck: With quotes, without quotes, base64 encoded, hex-ascii strings, etc...
keys:load("BOVs4Dnu43koQKf+6u3SIe0ghcHsYfMfYqxgO9Rf1y/locBazvrjqxtQMGAP8jr0Tas+43s1sOtYRDvvcZw6+fI=", "Base64encodedPrivateKeyValueHere", "password").
What should work?
Does the full node initialize to a new account or is it using a default existing account when a user first turns on the full node?
What is the format for the <<4, 104, 77...>>? It appears to be 0-255 byte values, but is it useful if the ... cuts off values in the keys?
On the api:account() print, is the first << >> the pub key? What is the second << >> set? (I suspect it's the private key, so I redacted it in red above.)
When looking at the file config/prod/sys.config
after build it is a bit confusing, and might need cleaning up, if the sysadmin should need to modify it. First, the head section of the file is:
[
{ ae_core, [
{port, 8080}, {internal_port, 8081}, {swagger_port_internal, 8042}, {swagger_port_external, 8043}, {peers, [[{146,185,142,103}, 8080]]}, {master_pub, <<"BL18ctFCJ4/i0HuiIJbF/F/ktgjADSub5rbe3RBIrsDUHBUVqqoEmv5wLEmjq3d8pTA07J2PQo87CY2B+0baQQk=">>}, {test_mode,false},
{peers, []},
{master_pub, <<"BIVZhs16gtoQ/uUMujl5aSutpImC4va8MewgCveh6MEuDjoDvtQqYZ5FeYcUhY/QLjpCBrXjqvTtFiN4li0Nhjo=">>},
{test_mode, true},
{cores_to_mine, 1000}, %% The maximum number of cores to use when mining.
{channel_delay, 10},
{max_message_size, 10000},
{token_decimals, 100000000},
%% Everything above this line is needed for blockchain consensus. Everything below this line can be modified for your node.
{smart_contract_runtime_limit, 5000}, %% in miliseconds.
{revert_depth, 20}, %% save all data from the most recent block, and this far into history. That way if blocks are reverted, we still have all the state. For light nodes this should be set to 0.
%% This section must be intact to maintain consensus, don't edit
.
.
.
%% end of section
%% Everything after this line may be modified for your node
.
.
.
Glitter chat link leads to Aeternity
Sending 10 multiple payments, in rapid succession from http://localhost:8081/main.html, at block 298, to BJjOADT/mMg0BsqQkCDcEb/ylv6W85wipEKrY3qV5z3XvVrNygvVoEXsA6tncAoMuyvMB5Prepzqql3zZ1sDjjo=
seemed to crash the peer 146.185.142.103.
When i stopped the mining and executed "make prod-stop, and make-prod clean, then restarted, blocks synced back up to block 130.
When I reset again, blocks started syncing to block 0, and proceeded to mine blocks 1,2,3 ....
Potentially, my enthusiasm for some robust testing, caused a problem in the mempool at your end. The issue was replicated 8 hours beforehand.
Update: Blocks have re-synced back up to 270. I suppose the more nodes on this network, the more stable it is.
My machine appears is mining before the sync has finished.
I observed in the code that mine:start() calls sync:start(). however when I check my processors, they have appear to be mining. (ie, cores running at 100%). This should not happen until sync is finished, right??
Is there any way to check the correct blocks have been download from the console.
Blocks are stored, one per file. Do you have plans to store multiple blocks in one file. Its going to be a bit cumbersome at block 50,000 having 50,000 files stored in the blocks directory.
Perhaps good to have a chainstate directory, in a leveldb database, before thing scale up.
https://github.com/zack-bitcoin/amoveo/blob/master/docs/progress_reports/22_november_2017.md
No mention of spectre.ai are you waiting for it to open source?
Cheers Mark
Hi again Zack! Using the light wallet...
http://159.89.106.253:8080/wallet.html
Tried the "create account" function...
Got the following error...
Let me know what I can do here to follow up with better info.
I have this error when i try to do a command which is available in documentation.
(ae_core_prod@Mbp)22> keys:address().
** exception error: undefined function keys:address/0
Sending .00104 tokens through http://localhost:8081/main.html, will be rounded to 103999
All other value [.00100 - .00117, step by .00001] checked out fine.
0.00207, 0.00208, 0.00209 will round to 206999 , 20799, 20899 , respectively.
OS : ubuntu browser : firefox
Hi Zack. Again, testing out the wallet...
http://159.89.106.253:8080/wallet.html
OSX 10.13.2. Chrome Version 63.0.3239.132 (Official Build) (64-bit)
I click on "Check Balance" and nothing happens.
Here's an error message in the console...
I checked my balance using the explorer URL below (I guessed it based on the new IP) and it says "not a number". NaN
http://159.89.106.253:8080/explorer.html
Hope this helps!
I stood my node up and did a sync:start(). That worked. Someone is mining, and the http://159.89.106.253:8080/wallet.html is showing increasing height. My node doesn't appear to be picking up the increased block heights until I type sync:start(). again.
If I call sync:start()., it does seem to go get the new blocks that 159.89.106.253 knows about. Is there something I need to do to get my node continuously sync?
So my sync keeps stopping at block 499
Is this because I am using a wifi? or because I am using a institutional network?
It is very wierd.
Also, can anyone help me to parse the keys into human readable form? I found the keys.db.
if an incorrect password is given the error that comes back is not clear on what happened.
(ae_core_prod@ivi3t4l-VirtualBox)47> keys:unlock("a").
ok
(ae_core_prod@ivi3t4l-VirtualBox)48> keys diedstart keys
The 159.89.106.253 node was down for a few hours. During that time, I mined a few blocks on my node. My node is at height 105.
The 159.89.106.253 node is up now, and has block height 99. I tried a sync:start(). on my node, and got the "weird response" messages shown in this screenshot.
Will 159.89.106.253 sync up with my height at 105, or do I have to do something to sync back to 159.89.106.253 at height 99?
When a market is concluded, we need to remove the buttons for canceling trades. COMPLETE
The explorer should stop displaying the market as active. COMPLETE
it should be convenient to settle the channel bets and take your winnings. <---- Still Needed
I did a keys restore on my node.
I copied my keys.db up to the new node here while the node was stopped.
/amoveo/_build/prod/rel/ae_core/keys/keys.db
Then, I did make prod-go. The api:balance(). shows a balance value that looks correct. I can't seem to unlock the keys to spend funds to pay miners.
I tried keys:unlock("password"). as the text suggests. I also tried "PASSWORD1234" and a password value that I used on my previous node. I wrote it down, so I'm pretty sure it's correct. (I redacted my real key password in red.)
Am I doing something wrong or is this maybe a bug?
Thank you.
I setup a full local node on Ubuntu and pointed a local miner at it. The miner ran for roughly 20 minutes fine and found several blocks.
After a while, it would start spamming the miner console with "server gave confusing response" and not recover. This happened to me twice, so it seems reproducible.
Here are screenshots of the server and miner consoles from the two times I observed this:
We need mining pool software for Amoveo, this way people can work together to find blocks.
Mining crashed on block 803. On Block 802, I made a channel on localhost:8081/main.html. of 500 tokens. Block chain seems to be reset from block zero.
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.