Logged Conversation (all times UTC)
[02:32] <stellar-slack> i saw no commit of go-horizon for strKey stuff, correct me if i missed.
[02:34] <sacarlson> @lab looks like he said starting on horizon but didn't complete?
[02:36] <stellar-slack> and did anyone tested loadgen else?
[02:37] <stellar-slack> i tested a single node with forcescp
[02:38] <stellar-slack> start with "--c generateload?accounts=10000000&txs=50000000&txrate=auto"
[02:39] <stellar-slack> stellar-core crashed 2/2 times around creating 10k accounts.
[02:40] <sacarlson> as of late only thing I've done was create a funded working account from my own running core. I'm not using horizon yet. direct to core with ruby-stellar-core
[02:40] <stellar-slack> @lab: I can’t get horizon to re-fund friendbot
[02:40] <stellar-slack> gonna leave it off until scott has a chance to see what’s up
[02:40] <sacarlson> glad to see you guys giving status of what you see
[02:42] <sacarlson> thanks @matschaffer
[02:42] <stellar-slack> @sacarlson: fyi. i'm writing scala-stellar-base :)
[02:42] <stellar-slack> nice!
[02:42] <sacarlson> what's scalla?
[02:43] <sacarlson> I guess I would find it on github
[02:43] <stellar-slack> scala, a jvm-base language. http://scala-lang.org|scala-lang.org
[02:43] <sacarlson> ok cool
[02:43] <stellar-slack> lab: we use generateload in the delivery pipeline, though not in auto mode, and with a smaller set of accounts
[02:44] <stellar-slack> scala is the new Java
[02:45] <stellar-slack> Hi, wondering if someone from stellar can help meetreks [3:27 PM] Suppose If I want to find the best rate for my payment transfer meetreks [3:28 PM] will static_path_find help me with that?
[02:45] <stellar-slack> what your average txs? highest of mine is 20 tx/s
[02:45] <sacarlson> I've completed my project that now runs on stellard https://github.com/sacarlson/pokerth_accounting/wiki I await enuf working parts to upgrade to stellar-core to add my other wanted features
[02:46] <stellar-slack> meetreks, try new network. static_path_find if obsoleted
[02:48] <stellar-slack> matschaffer, did andrew quit from SDF? why nobody mentioned it.
[02:48] <sacarlson> @meetreks and as far as the old path, I think I've seen it well explained in the ripple docs that is as I assume stellard is just a clone of it
[02:48] <stellar-slack> s/if/is
[02:49] <stellar-slack> lab: pretty sure we’re running at 20tx/s as well. `generate_load_and_await_completion 2000, 2000, 20` in the stellar_core_commander recipe
[02:49] <sacarlson> @meetreks and from what I read it sounds like what I explained before was correct
[02:50] <stellar-slack> meetreks: pretty sure I’m the only one online and I have no idea how static_path_find works, sorry about that
[02:51] <stellar-slack> but lab is right that old network stuff is deprecated, which is why I haven’t spent any time learning it (beyond how to stand it up when it falls over). And yes it’s basically ripple
[02:54] <stellar-slack> dev FYI update: testnet horizon is offline for the time being. Will update when it’s back online
[02:55] <stellar-slack> jed and graydon said about 1k tps and i miss the trick.
[02:56] <stellar-slack> we tried to design all components to be able to sustain that sort of rate on paper. in practice it doesn't run that fast yet.
[02:57] <stellar-slack> though I had it sustaining over 120 tps on my workstation single-node config yesterday without breaking a sweat (like load avg. 0.2)
[02:58] <stellar-slack> i remember you said something about a test on you laptop, but i forgot the origin, twitter or somewhere?
[02:59] <stellar-slack> I mean there's an auto-load mode in the current distribution ("stellar-core --test [autoload]") that scales up the tx rate gradually until ledger close latency is 250ms
[02:59] <stellar-slack> but that doesn't really represent "load" in a terribly scientific sense, just a very safe lower bound
[03:00] <stellar-slack> did you consider offload crypto calculations to other cores?
[03:01] <stellar-slack> it's unlikely to be necessary. even without any caches the crude verify speed of ref10 ed25519 is about 5000 verifies/sec
[03:02] <stellar-slack> signature verification isn't really a bottleneck unless we do too many due to repeated / non-cached verification (as we were two days ago)
[03:03] <stellar-slack> i didn't investigate the metrics and just got the idea when saw your "verification cache" commit.
[03:03] <stellar-slack> at the moment the latency bottleneck seems to be that db roundtrips (with postgres) are a bit slow. literally communication latency through tcp. userspace CPU isn't terribly busy.
[03:04] <stellar-slack> right, i was also strange about the low tps and low cpu load
[03:05] <stellar-slack> yeah. so cutting roundtrips is the first step and it seemed to help quite a bit. I'll get back at it once the remaining acceptance tests are passing.
[03:06] <stellar-slack> fyi, i tested with sqlite3 in win7
[03:06] <stellar-slack> but the other concern is that scp itself might take time to converge on consensus / flood txs around, and this might not scale ideally with more nodes. we'll have to see.
[03:08] <stellar-slack> how'd that go?
[03:09] <stellar-slack> 2015-07-29T19:16:49.049 f680e9 [7456] [LoadGen] INFO Tx/s: 14 target (auto), 7.27 actual (1m EWMA). Pending: 9990117 acct, 49990140 tx. ETA: 2290h54m
[03:10] <stellar-slack> and crashed in seconds
[03:10] <stellar-slack> !
[03:10] <stellar-slack> did it emit an assert on failure?
[03:10] <stellar-slack> and tested again
[03:10] <stellar-slack> 2015-07-29T18:14:12.031 664205 [7456] [LoadGen] INFO Tx/s: 76 target (auto), 14.8 actual (1m EWMA). Pending: 9989314 acct, 49989446 tx. ETA: 1125h51m
[03:10] <stellar-slack> crashed again
[03:11] <stellar-slack> can you get a stacktrace on the crash? tbh I haven't been doing [autoload] on windows, haven't been on windows in a while. mostly jed and nicolas do windows, though I have a machine around I can use if need be.
[03:13] <stellar-slack> it's based commit 06f289de after removing some asserts
[03:15] <stellar-slack> now stacktrace yet and i will try to solve it. jed and nicolas may have no same env as me.
[03:15] <stellar-slack> I build the stellar-core in release mode by my qt build script with TDM-GCC-64
[03:16] <stellar-slack> s/now/no
[03:30] <stellar-slack> TDM! there's a name I've not heard in a while :)
[03:31] <stellar-slack> we build and test on windows with msvc; I haven't tried it under mingw in a long time
[05:26] <stellar-slack> Hi
[05:27] <stellar-slack> simple query which i will be really glad if I can get some help
[05:27] <stellar-slack> static_path_find
[05:28] <stellar-slack> does it return me the best path and best rate?
[05:28] <stellar-slack> if the answer is Yes, how does it work?
[05:34] <stellar-slack> in old stellar: 1) yes. 2) magic
[05:36] <stellar-slack> depends on your definition of “best”, btw
[05:39] <stellar-slack> @dzham:
[05:39] <stellar-slack> Can you explain me this
[05:39] <stellar-slack> If I use static_path_find
[05:39] <stellar-slack> what is the role of the issuer there?
[05:42] <stellar-slack> you mean in destination_amount?
[05:42] <stellar-slack> no
[05:44] <stellar-slack> Well sorry
[05:44] <stellar-slack> Yes
[05:44] <stellar-slack> so you’re not talking about the static_path_find parameters
[05:44] <stellar-slack> client.call( { "id": row, "method": "static_path_find", "params": [ { "source_account": sourceAcc, "destination_account": destAcc, "destination_amount": { "currency": destCurr, "value": destAmount, "issuer": issuer
[05:44] <stellar-slack> "source_currencies": [ { "currency": sourceCurr } ] } ] },
[05:45] <stellar-slack> its the issuer field
[05:45] <stellar-slack> Now it’s making sense.. Well, any currency has an issuer, right
[05:46] <stellar-slack> is it not what the path find needs to tell me
[05:46] <stellar-slack> which issuer can give me the best path?
[05:48] <stellar-slack> w8, looking at my old code
[05:48] <stellar-slack> Super, thanks
[05:50] <stellar-slack> ok, so for static_path_find, destination_amount.issuer is just destAcc
[06:08] <stellar-slack> Yeah
[06:08] <stellar-slack> so tell me has some one used it in anger and got the best path?
[06:09] <stellar-slack> Because the more I look at it
[06:09] <stellar-slack> I get a feeling that
[06:09] <stellar-slack> unless I know who the issuer is
[06:09] <stellar-slack> the path_find does not retrieve me anything
[06:10] <stellar-slack> What i would ideally want is
[06:10] <stellar-slack> if some one can simulate a x curr transaction
[06:10] <stellar-slack> like USD --> EUR
[06:10] <stellar-slack> and let me know how to get the best path & rate
[06:17] <stellar-slack> I’ve used it may times. And compared to what’s on the books
[06:20] <stellar-slack> can you share me some results @dzham
[09:58] <stellar-slack> hello, anybody home?
[09:59] <stellar-slack> @dzham: , can you kindly help me here
[10:01] <stellar-slack> I am struggling to find what this static_path_find actually returns
[10:09] <stellar-slack> I’m not getting anything ATM
[10:09] <stellar-slack> Do you know any currency where there’s a market?
[10:23] <stellar-slack> :)
[10:23] <stellar-slack> Yeah, welcome to my club
[10:23] <sacarlson1> I gave you the tools to create markets with simulations already running
[10:24] <stellar-slack> sacarlson
[10:24] <stellar-slack> I have been testing
[10:24] <stellar-slack> and cant find any evidence that path returns anything else
[10:25] <stellar-slack> but if you create an issuer with loads of offers in his order books
[10:25] <stellar-slack> then path returns that "path"
[10:25] <sacarlson> you can create unlimited number of issuers
[10:26] <sacarlson> for path to work you must have the trust lines to the issuers
[10:26] <stellar-slack> and yet can have only one of them in your static_path_find
[10:26] <sacarlson> no trust line on path
[10:26] <stellar-slack> Yes
[10:26] <stellar-slack> excatly my point
[10:26] <stellar-slack> this defeats the purpose of path find
[10:26] <stellar-slack> 'according to ripple and stellar
[10:27] <stellar-slack> path_find is supposed to bring you the best path available
[10:27] <stellar-slack> not the path available from the trusted entity
[10:31] <sacarlson> if path doesn't do what you want then write something that does what you want. the database is easy to play with
[10:31] <sacarlson> it's just like mysql
[10:36] <sacarlson> I assume you read this https://ripple.com/build/ripple-rest/#prepare-payment
[11:05] <stellar-slack> Hmmmm
[11:05] <stellar-slack> good
[11:06] <sacarlson> I saw other docs on ripple but forget what I was reading
[11:07] <sacarlson> didn't save the links
[11:16] <stellar-slack> Let me show what I have got for the last 6 months
[11:18] <stellar-slack> var rpc = require('node-json-rpc'); var xmlParser = require('js2xmlparser'); exports.callBack = function(){}; var options = { host: '10.241.60.41', port: 6050, path: 'http://s1.ripple.com:51234', strict: true }; // Create a server object with options var client = new rpc.Client(options); exports.getRipplePathFindResponse = function (filename,sourceAcc, destAcc, is
[11:18] <stellar-slack> destAmount,row) { console.log("Source Account"+ sourceAcc); client.call( { "id": row, "method": "ripple_path_find", "params": [ { "source_account": sourceAcc, "destination_account": destAcc, "destination_amount": { "currency": destCurr, "value": des
[11:18] <stellar-slack> }, "source_currencies": [ { "currency": sourceCurr } ] } ] }, function (err, res) { if (err) { console.log("Connection Error True"+err); } else { console.log(JSON.stringify(res, null, 2)); var options = {
[11:18] <stellar-slack> include: false } }; //return eval(JSON.parse(JSON.stringify(res, null, 0))); require('./writetoXml.js').WriteToXml('ResponseXMLOutput.xml', 'Rippleresponse', JSON.parse(JSON.stringify(res, null, 4))); exports.callBack(); } } ); }
[11:18] <stellar-slack> var fs = require('fs'); var destAmount; var sourceCurr; var destCurr; var row = 0; var rawData; var responseReceived; var sourceAccount = "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59"; var destAccount = "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX"; var issuer = "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"; var response = require('./ripplepathfind.js'); var fileName = "ResponseXMLOutput"; var rpc = require('node-json-rpc'); var xml
[11:18] <stellar-slack> options = { host: '10.241.60.41', port: 6050, path: 'http://s1.ripple.com:51234', strict: true }; // Create a server object with options var client = new rpc.Client(options); fs.readFile('C:\CRISP\Engine Source\TransactionFile\transaction.txt', 'utf8', function (err, data) { if (err) { return console.log(err); } rawData = data; response.callBack = fs.callRem
[11:18] <stellar-slack> console.log('Completed'); }); fs.callRemote = function(){ rawFileRows = rawData.split('n'); console.log("row count" + rawFileRows.length); if(rawFileRows.length != row) { sourceCurr = rawFileRows[row].substring(19, 22); destCurr = rawFileRows[row].substring(25, 28); var dest = rawFileRows[row].substring(62, 70) + "." + rawFileRows[row].substring(70, 72); destAmount = parseFloat(dest).toFixed
[11:18] <stellar-slack> destCurr + '::' + destAmount ); var result = response.getRipplePathFindResponse(fileName,sourceAccount, destAccount, issuer, sourceCurr, destCurr, destAmount,row); ++row; } };
[11:18] <stellar-slack> I have been trying and it does not find me the path at all
[11:19] <sacarlson> well my software returned a path as I must have shown you
[11:19] <sacarlson> It's not java it's ruby
[11:21] <sacarlson> oh and that's ripple
[11:21] <sacarlson> I"ve never pointed at ripple
[11:23] <sacarlson> you would need to have a view of the books to have an idea what to expect to see in path I would think.
[11:24] <stellar-slack> I did, and no paths were returned
[11:24] <sacarlson> no path in the books? are there any open orders?
[11:24] <stellar-slack> so wondering if someone really saw a path returned from stellar by just mentioning source and destination
[11:27] <stellar-slack> you’d need destination_amount as well, but yeah, I’ve had static_path_find running since, hmm, ages
[11:29] <stellar-slack> @dzham, did it return you any active path?
[11:30] <sacarlson> yes I ran it also and found a path return if I put in an amount that I knew was on the books. if I went outside what I knew was for sale no path was returned
[11:31] <stellar-slack> so you populated an issuer is it?
[11:31] <sacarlson> yes I created a simulated market
[11:31] <stellar-slack> :)
[11:32] <sacarlson> I gave you the tools to expand opon it
[11:32] <stellar-slack> oh, yeah. I’ve only really done one or two currency tx’s on http://launch.stellar.org|launch.stellar.org, all others I’ve submitted myself
[11:33] <stellar-slack> can you do a prepare payment and see if it returns the path?
[11:36] <sacarlson> prepare payment? I setup orders to buy and sell
[11:37] <sacarlson> would that be a payment?
[11:51] <sacarlson> this was one of the experments we ran that must still have orders open https://github.com/sacarlson/pokerth_accounting/blob/master/static_path_find.rb
[11:52] <sacarlson> if you added more orders you would see more results
[16:46] <stellar-slack> horizon and friendbot are back up and running. go-horizon is next up to fix… it’ll take a bit longer. hopefully by EOD
About StellarVerse IRC Logger
StellarValue IRC Logger
is part of