Release EDDN - Elite Dangerous Data Network. Trading tools sharing info in an unified way.

Status
Thread Closed: Not open for further replies.
So I'm capable of writing PHP and could make a version of this link work for me.

My thinking is that I would use the Trade Dangerous editor to manually key the prices if EDMC cannot send them. TradeDangerous produces an updated.prices file. I can write PHP that would parse the .prices file and send to EDDN.

My worry though is whether the EDDN subscribers would accept my 'application' from the EDDN or just chuck it away.

I'd have to learn Python to integrate this into TradeDangerous....

But if there's something out there I can use instead, that would be my preference.

At one stage I recall there was an EDDN plugin for TD which I think did what you want - ie: took an updated.prices file and sent it to EDDN. It was a long time ago though - when EDDN was just getting off the ground. You might be able to dig up the code in an old bitbucket. It wasn't a "plugin" as in the plugin folder - it was a misc script.
 
Last edited:
At one stage I recall there was an EDDN plugin for TD which I think did what you want - ie: took an updated.prices file and sent it to EDDN. It was a long time ago though - when EDDN was just getting off the ground. You might be able to dig up the code in an old bitbucket. It wasn't a "plugin" as in the plugin folder - it was a misc script.

I don't see it there now, but there is something for importing eddb.io archives which we were discussing on the TradeDangerous topic (to fill the 'gap' when your site was down over Christmas).
 
Last edited:

wolverine2710

Tutorial & Guide Writer
At one stage I recall there was an EDDN plugin for TD which I think did what you want - ie: took an updated.prices file and sent it to EDDN. It was a long time ago though - when EDDN was just getting off the ground. You might be able to dig up the code in an old bitbucket. It wasn't a "plugin" as in the plugin folder - it was a misc script.

Your memory is better then mine it seems. I was under the impression TD was receiving from EMDN, my bad. Anyway dug it up. EMDN support (which was indeed not a real plugin) was removed in 3.9.1, Comment by kfsone in github: "Removed the EMDN module following Michael Brooke's post". The script was called emdn-tap.py. On this page you can find the 3.9.1 commit by kfsone. Iirc back then the format of the updated.prices was different and ofc the data was sent to EMDN - EDDN is basically EMDN. One last note: the format of the message was the same EDDN v1. As in every commodity on a market resulted in one message. In EDDN v2 each message contains the prices for a whole market.

Update: DRY411S ninja-ed me when typing... Added url for the 3.9.1 commit.
 
Last edited:
Your memory is better then mine it seems. I was under the impression TD was receiving from EMDN, my bad. Anyway dug it up. EMDN support (which was indeed not a real plugin) was removed in 3.9.1, Comment by kfsone in github: "Removed the EMDN module following Michael Brooke's post". The script was called emdn-tap.py. On this page you can find the 3.9.1 commit by kfsone. Iirc back then the format of the updated.prices was different and ofc the data was sent to EMDN - EDDN is basically EMDN. One last note: the format of the message was the same EDDN v1. As in every commodity on a market resulted in one message. In EDDN v2 each message contains the prices for a whole market.

Update: DRY411S ninja-ed me when typing... Added url for the 3.9.1 commit.

I've taken a look. That's just a subscriber.
 

wolverine2710

Tutorial & Guide Writer
I've taken a look. That's just a subscriber.

I've misinterpreted Maddavo's post. I thought he was talking about EMDN. So I was correct about that in the EMDN days we only had a subscriber not a publisher. Not that it helps you. The first version of EDDN was in December 2014 or something, perhaps you can use that to narrow it down in your github search. Sorry for the inconvenience.

Update: Last try. Search the TD github repo for the word EDDN - only searches the commit strings I believe. Found this page.
Commit 8bceff2 by Tyler Lund (author EDAPI) mentions the following: trade.py import -P edapi -O edd. This will do the same thing, but also post your market into to EDDN. Not sure if helpfull or still in the current EDAPI plugin.

STILL not found the misc script mentioned by Maddavo, giving up ;-( Perhaps the TD thread mentions it somewhere, search for misc perhaps.....
 
Last edited:
Yeah yeah - the old EMDN script - that's the one I recall. I see now the old script was just a subscriber to EMDN, not a publisher.

So there is/was no script/plugin that publishes manually edited *.prices files to EDDN. @DRY411S - over to you.
 
The current EDAPI plugin will post prices, shipyards, and ship modules to EDDN.

I typically use the maddavo import plugin to receive prices, since maddavo imports form EDDN.
 
The current EDAPI plugin will post prices, shipyards, and ship modules to EDDN.

I typically use the maddavo import plugin to receive prices, since maddavo imports form EDDN.

Yes, it does. But it gets those prices from the API. @DRY411S's problem is that the API is not returning prices for certain stations that do have a market, and he is also having trouble with EliteOCR and RegulatedNoise so he has to enter prices manually in the TD price editor GUI or text editor. That gives a *.prices file - but there is nothing currently that will convert the updated.prices file to JSON and transmit to EDDN.
 
Released version 1.0 of Ships Log (first non beta version)

[FONT=Helvetica, arial]This app is designed to assist you whilst playing Elite Dangerous and hopefully make the game even more enjoyable and immersive. [/FONT]
[FONT=Helvetica, arial]This app automatically gathers data about the systems you are visiting and makes suggestions about commodities to trade. It also uses a configurable voice recognition to interface with both the app and the game itself. [/FONT]
[FONT=Helvetica, arial]Other useful features include: collecting, converting and displaying screen captures; Displaying players financial progress over time; linking current ship load-out for display in Coriolis.io; Plus more to come.

[/FONT]https://shipslog.codeplex.com/[FONT=Helvetica, arial]
Open Source, of-course.[/FONT]
 
Alpha works to test, Production gives 400

That is just a complete example of what can be done, it was added when some version of EliteOCR where bugging, but I'm not sure it is used.

I am sorry for ED-TD, I have not responded to you! Well you weren't there when I came back ;)
At first I was authorizing manual update, but I removed it in favor of 100% EDDN, the form was really hard to maintain and to submit,
one day they were more commodities than PHP could handle in his post request so I simply removed it.

One thing we could think of, is to re enable that form but doing the JSON conversion on client side to send to EDDN.

And yes, the Wiki and readme about EDDN is not actualised. I will do it when I got some time.

So I have sent the following to http://eddn-gateway.elite-markets.net:8080/upload/ with a schemaref of http://schemas.elite-markets.net/eddn/commodity/2/test and got an OK back.

EDDN is also showing me this, which considering this is the first time I have ever worked with JSON and VB.NET, and it worked first time, I am pretty pleased about. :D

tdedit.PNG


However when sending it with a schemaref of http://schemas.elite-markets.net/eddn/commodity/2# I am getting a 400 back. Here's the JSON.

Code:
{  "header": {
    "softwareVersion": "Alpha",
    "softwareName": "TD-Edit",
    "uploaderID": "DRY411S"
  },
  "$schemaRef": "http://schemas.elite-markets.net/eddn/commodity/2/test",
  "message": {
    "commodities": [
      {
        "name": "Explosives",
        "buyPrice": 260,
        "supplyLevel": "Med",
        "supply": 1032,
        "demand": 0,
        "sellPrice": 243
      },
      {
        "name": "Hydrogen Fuel",
        "buyPrice": 110,
        "supplyLevel": "Med",
        "supply": 2133,
        "demand": 0,
        "sellPrice": 105
      },
      {
        "name": "Nerve Agents",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Mineral Oil",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 43838,
        "sellPrice": 329
      },
      {
        "name": "Pesticides",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Surface Stabilisers",
        "buyPrice": 410,
        "supplyLevel": "High",
        "supply": 241,
        "demand": 0,
        "sellPrice": 392
      },
      {
        "name": "Synthetic Reagents",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Clothing",
        "buyPrice": 0,
        "demandLevel": "Med",
        "supply": 0,
        "demand": 691,
        "sellPrice": 405
      },
      {
        "name": "Consumer Technology",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 79,
        "sellPrice": 7350
      },
      {
        "name": "Domestic Appliances",
        "buyPrice": 0,
        "demandLevel": "Med",
        "supply": 0,
        "demand": 373,
        "sellPrice": 645
      },
      {
        "name": "Evacuation Shelter",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Algae",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Animal Meat",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 148,
        "sellPrice": 1565
      },
      {
        "name": "Coffee",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 285,
        "sellPrice": 1565
      },
      {
        "name": "Fish",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 772,
        "sellPrice": 590
      },
      {
        "name": "Food Cartridges",
        "buyPrice": 0,
        "demandLevel": "Med",
        "supply": 0,
        "demand": 666,
        "sellPrice": 237
      },
      {
        "name": "Fruit And Vegetables",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 1029,
        "sellPrice": 480
      },
      {
        "name": "Grain",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 2565,
        "sellPrice": 346
      },
      {
        "name": "Synthetic Meat",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 664,
        "sellPrice": 401
      },
      {
        "name": "Tea",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 176,
        "sellPrice": 1760
      },
      {
        "name": "Ceramic Composites",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Meta-Alloys",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Polymers",
        "buyPrice": 94,
        "supplyLevel": "Med",
        "supply": 4109,
        "demand": 0,
        "sellPrice": 78
      },
      {
        "name": "Semiconductors",
        "buyPrice": 871,
        "supplyLevel": "Med",
        "supply": 566,
        "demand": 0,
        "sellPrice": 848
      },
      {
        "name": "Superconductors",
        "buyPrice": 6896,
        "supplyLevel": "Med",
        "supply": 1133,
        "demand": 0,
        "sellPrice": 6821
      },
      {
        "name": "Beer",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 1987,
        "sellPrice": 308
      },
      {
        "name": "Bootleg Liquor",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 69,
        "sellPrice": 543
      },
      {
        "name": "Liquor",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 295,
        "sellPrice": 805
      },
      {
        "name": "Narcotics",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Tobacco",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 386,
        "sellPrice": 5340
      },
      {
        "name": "Wine",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 502,
        "sellPrice": 401
      },
      {
        "name": "Atmospheric Processors",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Building Fabricators",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Crop Harvesters",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Geological Equipment",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Marine Equipment",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Microbial Furnaces",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 41656,
        "sellPrice": 337
      },
      {
        "name": "Mineral Extractors",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Power Generators",
        "buyPrice": 0,
        "demandLevel": "Med",
        "supply": 0,
        "demand": 1652,
        "sellPrice": 645
      },
      {
        "name": "Skimmer Components",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Thermal Cooling Units",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Water Purifiers",
        "buyPrice": 0,
        "demandLevel": "Med",
        "supply": 0,
        "demand": 292,
        "sellPrice": 388
      },
      {
        "name": "Agri-Medicines",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Basic Medicines",
        "buyPrice": 0,
        "demandLevel": "Med",
        "supply": 0,
        "demand": 336,
        "sellPrice": 405
      },
      {
        "name": "Combat Stabilisers",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Performance Enhancers",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 212,
        "sellPrice": 7350
      },
      {
        "name": "Progenitor Cells",
        "buyPrice": 0,
        "demandLevel": "Low",
        "supply": 0,
        "demand": 5,
        "sellPrice": 6881
      },
      {
        "name": "Aluminium",
        "buyPrice": 291,
        "supplyLevel": "Med",
        "supply": 1399,
        "demand": 0,
        "sellPrice": 272
      },
      {
        "name": "Beryllium",
        "buyPrice": 8296,
        "supplyLevel": "Med",
        "supply": 95,
        "demand": 0,
        "sellPrice": 8207
      },
      {
        "name": "Bismuth",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Cobalt",
        "buyPrice": 674,
        "supplyLevel": "Med",
        "supply": 682,
        "demand": 0,
        "sellPrice": 647
      },
      {
        "name": "Copper",
        "buyPrice": 442,
        "supplyLevel": "Med",
        "supply": 9779,
        "demand": 0,
        "sellPrice": 423
      },
      {
        "name": "Gallium",
        "buyPrice": 5169,
        "supplyLevel": "Med",
        "supply": 138,
        "demand": 0,
        "sellPrice": 5113
      },
      {
        "name": "Gold",
        "buyPrice": 9542,
        "supplyLevel": "Med",
        "supply": 117,
        "demand": 0,
        "sellPrice": 9542
      },
      {
        "name": "Hafnium 178",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Indium",
        "buyPrice": 6069,
        "supplyLevel": "Med",
        "supply": 1254,
        "demand": 0,
        "sellPrice": 6003
      },
      {
        "name": "Lanthanum",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Lithium",
        "buyPrice": 1573,
        "supplyLevel": "Med",
        "supply": 3507,
        "demand": 0,
        "sellPrice": 1535
      },
      {
        "name": "Osmium",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Palladium",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Platinum",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Silver",
        "buyPrice": 4797,
        "supplyLevel": "Med",
        "supply": 146,
        "demand": 0,
        "sellPrice": 4744
      },
      {
        "name": "Tantalum",
        "buyPrice": 4017,
        "supplyLevel": "Med",
        "supply": 1710,
        "demand": 0,
        "sellPrice": 3972
      },
      {
        "name": "Thallium",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Thorium",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Titanium",
        "buyPrice": 998,
        "supplyLevel": "Med",
        "supply": 5020,
        "demand": 0,
        "sellPrice": 973
      },
      {
        "name": "Uranium",
        "buyPrice": 2675,
        "supplyLevel": "Med",
        "supply": 231,
        "demand": 0,
        "sellPrice": 2644
      },
      {
        "name": "Bauxite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 222
      },
      {
        "name": "Bertrandite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 2742
      },
      {
        "name": "Coltan",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 1580
      },
      {
        "name": "Cryolite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 2644
      },
      {
        "name": "Gallite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 2139
      },
      {
        "name": "Goslarite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 1119
      },
      {
        "name": "Indite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 2420
      },
      {
        "name": "Lepidolite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 715
      },
      {
        "name": "Moissanite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Painite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 33889
      },
      {
        "name": "Pyrophyllite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 1855
      },
      {
        "name": "Rutile",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 422
      },
      {
        "name": "Taaffeite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Uraninite",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 1050
      },
      {
        "name": "AI Relics",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Ancient Artefact",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Antiquities",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Encrypted Data Storage",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Experimental Chemicals",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Military Intelligence",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Military Plans",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Prototype Tech",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Rebel Transmissions",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "SAP 8 Core Container",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Technical Blueprints",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Trade Data",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Imperial Slaves",
        "buyPrice": 0,
        "demandLevel": "Low",
        "supply": 0,
        "demand": 105,
        "sellPrice": 15859
      },
      {
        "name": "Slaves",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Advanced Catalysers",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 7101,
        "sellPrice": 3370
      },
      {
        "name": "Animal Monitors",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Aquaponic Systems",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Auto-Fabricators",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Bioreducing Lichen",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Computer Components",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "H.E. Suits",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 8294,
        "sellPrice": 429
      },
      {
        "name": "Land Enrichment Systems",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Muon Imager",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Resonating Separators",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 4038,
        "sellPrice": 6683
      },
      {
        "name": "Robotics",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Structural Regulators",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Leather",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Natural Fabrics",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Synthetic Fabrics",
        "buyPrice": 137,
        "supplyLevel": "Low",
        "supply": 2870,
        "demand": 0,
        "sellPrice": 122
      },
      {
        "name": "Biowaste",
        "buyPrice": 17,
        "supplyLevel": "High",
        "supply": 721,
        "demand": 0,
        "sellPrice": 13
      },
      {
        "name": "Chemical Waste",
        "buyPrice": 0,
        "demandLevel": "Med",
        "supply": 0,
        "demand": 996,
        "sellPrice": 102
      },
      {
        "name": "Scrap",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 71
      },
      {
        "name": "Battle Weapons",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Landmines",
        "buyPrice": 0,
        "supply": 0,
        "demand": 0,
        "sellPrice": 0
      },
      {
        "name": "Non-Lethal Weapons",
        "buyPrice": 0,
        "demandLevel": "High",
        "supply": 0,
        "demand": 346,
        "sellPrice": 2105
      },
      {
        "name": "Personal Weapons",
        "buyPrice": 0,
        "demandLevel": "Med",
        "supply": 0,
        "demand": 333,
        "sellPrice": 4669
      }
    ],
    "timestamp": "2016-01-10T14:50:18Z",
    "systemName": "KOLABINATES",
    "stationName": "Grant Plant"
  }
}

Should I posting this here, in EDDN Github or somewhere else?
 
Hey :)

Could someone please check the php example for a full client on the database? Skript starts then does a timeout without producing anything. Was the scheme change updated @ examples?
 
Hi DRY411S,
There should be no problem for your application to send the data.

My little App (Visiual Basic) is working now. As a test I sent updates for KOLABINATES/Grant Plant and MONTO/Werber Hangar which are 2 stations where the Frontier Companion API 'lies' and says there are no commodity markets.


I am not aware of application being refuse, but it could be, we tend to love the API data because they help us clean the things.

Inara.cz is one that has not accepted my updates.

Inara.cz said:
Commodity prices are updated automatically from EDDN data stream (but just data from reliable tools are used). But, of course, you can also import prices from EliteOCR, E:D Market Connector or edit them manually.

But of course you cannot. :)
 
Last edited:
This thread is primarily meant for programmers who implement EDDN in their programs (or tools of any kind).
You as a user don't need to know anything about EDDN beside the fact that it is a information relay. It means everybody can send data to it and the data will be distributed to everybody. Currently it is distributing market data and Shipyard information. Outfitting information is currently being worked on.

There are sender programs and receiver programs. Examples: EliteOCR by Seebek only sends market data. Eddb.io by themroc is a receiver. Maddavo's Market Share (MMS) by Maddavo is a receiver. "RegulatedNoise DJ-Version" *All in one* Trading Tool (includes OCR) by Duke is both sender and receiver. There are quite a few tools out there which allows you to share your market data or receive publicly shared data from others. We expect there to be more very soon. There are commanders who have created Value Added Services for EDDN. Example: Archiving services as EDDN does NOT store any data it distributes at all.

If you decide to write a tool using EDDN in any way, we will all be more than happy to help you. If you don't then don't worry. You won't miss a thing.

Announcement: Tuesady the 7th of July
EDDN v0.5 succesfully installed. Schema V1 support dropped.

See this post by jamesrecmusdat for detailed information.

Related news
Announcement: Tuesday the 30th of June.
First of July a new EDDN version will be installed - without schema V1 support.
See this post for detailed information.
Announcement: Friday the 19th of June.
Starting the 1st of July 2015 EDDN schema V1 will be discontinued.
See
this post for detailed information.

Announcement: Friday the 5th of June.
"OCR error free" or "Mobile API based" tools.


This week "OCR error free" (OEF) or "Mobile API based" tools were released. Elite Dangerous Companion Emulator (EDCE), EDMarketConnector (EDMC) and EDAPI. These are all open source projects written in Python.

Caveat emperor: The legality and usage of these tools is being discussed internally at FD. See this post by Michael Brookes in response to an author of an OEF tool to temporarily allow the usage of them.


  • All tools (optionally) send (market prices) data to EDDN.
  • It has become clear that similar tools have been created. Privately used and not publicly released.
  • One tool supports all publicly released trading tools. Accomplished by creating a .bpc, .csv and a TradeDangerous .prices files. Those can be imported into respectively Slopey's BPC, for example Cmdr Thrudd's trading tool and Trade Dangerous by kfsone.

Announcement: 15th of April.
New features and a proposal for a new V2 schema to review.

New features are mostly behind-the-scenes admin related, making the network components easier to deploy and administer, but there is also now a status page available at http://eddn-gateway.elite-markets.net/ showing message throughput of the network. Anthornet also has an EDDN-monitor: http://eddn.ed-td.space/

AnthorNet and jamesremuscat have been collaborating on a v2 schema that lets you submit multiple commodities in one message. The draft is up on GitHub: https://github.com/jamesremuscat/EDD...2.0-draft.json. It's also installed in the gateway so software authors can move to testing using it if they wish - usual /test hack applies. The schema is subject to change until we declare it stable.



Announcement: 15th of December.
Announcing Elite Dangerous Data Network alpha test!

Jamesrecmuscat has made an Alpha version of EDDN publicly available. GREAT work James. See spoiler for details.
It's long since time I posted this...

Announcing Elite Dangerous Data Network alpha test!

For full details see https://github.com/jamesremuscat/EDDN/wiki - which not coincidentally is also the Git source code repository for the project.

There's a sample Python application in the Git repo - see Client.py.

This is half of what's needed - the other important thing is defining the format of the message. What's there currently is a starting point, but the questions for you all are:

  • What else needs to be in the market data message?
  • What other data would people be interested to see distributed over EDDN?


I'll be continuing to read this thread - and since I'm not back in the office until the new year, I should even have time to fix things if/when they break!
Atm there exist quite a few third party trading tools created by passionate, creative and talented commanders. Each tool has their own speciality, features and audience. They currently all have in common that they are based upon manual input of data, typed in by commanders. This is because of FD's new data access policy which was announced 5+ days before SB2. Source.

Trading tools I know off - probably not complete. Its from the OP of this thread.
List of third party trading tools. The tools are listed by commander name - in alphabetic order.

  • kfsone. TradeDangerous: power-user trade optimizer (TD), users unknown. Trading tool, route planner, manual input of data. Used EMDN in the past. Thread "TradeDangerous: power-user trade optimizer". Sourcode.
  • Maddavo. A website where a TD's TradeDangerous.prices can be uploaded, merged with the most current one on his website and returned to the user. Effectively a way to get the most up to date prices for TD. Users unknown.
  • Slopey. The BPC. Trading tool, route planner. Thread "Slopey's Market Tool/Best Profit Calculator (BPC)!". Slopey mentioned that in SB1 at peak times there were 500 users.Ised EMDN in the past.
  • Zebidie. Trading tool and route planner. Thrudds Elite Dangerous Tools Zebidie mentioned in his thread a few weeks back he has 2300 users.
PRE SB2: Trading tools, automatized data scraping, EMDN, FD's new data policy and consequences.
Before SB2 there was EMDN by Andreas which contained commodities market information. EMDN stands for Elite Market Dump Network and received its information from marketdump (MD), a separate command line tool made by Andreas. EMDN was used by for example Slopeys the BPC (which came with MD), kfsone's TD, IxForres web-api. MD got its data by accessing the ED program. When the commodities market in Ed was opened the prices were gathered and send to EMDN. After the data policy changed, Andreas did shutdown EMDN. Something he mentioned he would do if FD asked him to.

This had consequences for the trading tools. Until then the mentioned tools had more or less up to date market information. At least for those systems which had profitable routes, station snot to far away AND were visited by commanders. Mentioned by a lot of commanders the tools caused them to go the outer rim of SB1 and not to stay in the core systems. More profit to be made because of the implemented market mechanisms in ED. After the shutdown of EMDN the BPC , IxForres web-api and to a lesser extended TD were affected. The BPC data became stale, the web-api was shutdown and TD again solely relied on manual entered prices.
EMDN: technical point of view. Its proposed successor EDDN.
The idea for EDDN came from EMDN by Andreas which itself is based upon EMDR (EVE Market Data Relay). In its most basic form EMDN is nothing more then a data stream. More specific a ZeroMQ publish/subscribe pattern with a bit of logic in the receiver to do sanity checks. Data was send to it by MD as a zlib compressed JSON structure. Note: ZeroMQ has support for multicast to reduce bandwidth. In normal English: Data send to EMDN will be send to everybody who has subscribed itself to it. Again this was used by Slopey to store market data in his database server, emdn-tap of TD, IxForres webapi.

Nothing has to be stored in EMDN but CAN be. Andreas for a while has set up an ELK stack. E: Elasticsearch for deep search and data analytics. L: Logstash for centralized logging, log enrichment and parsing. The K in ELK stands for Kibana. For powerful and beautiful data visualizations. What can be done with this is explained by Andreas in a few threads and a video. Thread: "Economist Newsletter #1: Insight into the current market dynamics". Thread: "Economist Newsletter #2: The Eranin food crisis". Video: "[Video] Market data visualization with EMDN and ELK"

EDDN is nothing more or less then EMDN with a different name. And EDDN is fed by data obtained in a legal way. In this case data send to it by trading tools - based on manually entered data.
EDDN usage for Market data visualization ONLY.
Note: Market data visualization with EDDN and ELK. Everybody has his/her preferred way of playing Elite. Wrt trading: Some use the ingame tools, others prefer trading tools. EDDN can also be used by traders as a pure analysis tool. See the previous spoiler tag.
Tools created for EDDN and/or using it.
20140120. Heavily WIP. I've have to reread the whole thread to find the gems hidden in it ;-)

This list is NOT complete. Atm according to EDCodex there are 13 publicly released tools for EDDN.

EDDN Legend:
SUB: Subscriber of EDDN, connects to EDDN and retrieves data.
PUB. Publisher. Sends data to EDDN.
Value added service. This can for example be an archiving service where one can collect historical data.

Name:
Author: Askarr
Description: Archive for EDDN messages.
Website: N/A
Source available: No
Thread: N/A
Compatible with Release: Yes
EDDN support: SUB
Value added service (VAS): Archiving
Comments: Announcement here, with code sample of how to use it. More info about usage here. Note: You must first ask for an key before you can use it.
Note: Saturday 20150425. Added to ED3PTT.

Name: Elite Trade Analyzer
Author: Pandemic
Description: Trading tool.
Website: N/A
Source available: Yes. Open source license: not specified. Gitub repository.
Thread: N/A
Compatible with Release: Yes
EDDN support: SUB
Value added service: N/A
Comments: This tool will analyze and find the best routes for trade data persuant to several parameters: Proximity to current location, distance between trade stations and current commodity prices and supplies
Note: Saturday 20150425. Added to ED3PTT.


Name: eddb - Elite: Dangerous Database
Author: themroc
Description: Routeplanner.
Website: eddb
Source available: No
Thread: eddb - a site about systems, stations, commodities and trade routes in Elite: Dangerous.
Compatible with Release: Yes
EDDN support: SUB
Value added service: Archiving
Comments: Much more functionality is planned, like a REST-API.
Note: Saturday 20150425. Its (now) in ED3PTT.
Archiving services for EDDN - with an API
See this post for an overview.

Note: Those are archiving services with an API. There are also services which do store EDDN data but don't have an API. They offer stored EDDN messages for a certain period in the form of a download. Examples: eddb.io and Maddavo's Market Share.
The current situation. We have multiple manually input based trading tools. They afaik do NOT have price info for every system/station/platform. If a station/platform has price information its far from up to date and/or incomplete. This situation will likely gets worse when the Galaxy opens up in Gamma. Manual entering of prices in the tools takes time and dedication. All those great tools have in common that they are basically data island.

Now to the title of the thread. If all price information was shared between the different tools the end effect would be that each tool would have more reliable, less outdated data, making each tool more useful. One possibility would be that the tools have a web-api which would allow to get the latest prices and a web-api to upload prices to them - could be with authentication like OAuth. This has drawbacks, the biggest one I see is that for full interoperability each trading tool has to support the web-api of all other tools. Which becomes impractical real soon.

Might I suggest another solution: EDDN. Basically when data is entered in a trading tool its submitted to EDDN. All trading tools subscribed to EDDN directly receive that information. The data islands disappear. In effect a trading tool becomes more valuable. EDDN can also be used to check data entered in each tool. Does this mean that a certain tool loses its identity? Does it mean a tool becomes obsolete? Does it mean a commander is forced to use a certain tool or change to another tool? I really don't think so. For example thrudd's tool has 2300 users who have to login and when they entered data they get to a higher level and can use more functionality of the tool. This doesn't change.

Can EDDN become a reality and useful? It all depends on the authors of the trading tools. If they see merits in it, then an EDDN can be setup. If too many authors think its a bad idea or does not fit in the ideology of an author, EDDN will add little to the party AND the data island will continue to exist.

The whole idea of this thread is to discuss if there is interest in it and discuss the technical site of it. The only thing I can do is to present the idea. For the rest its up to the authors . Let the discussion begin. Of course every commander can chip in. I will send a PM to the authors to make them aware of this thread.

Note: Tool authors. Should I've made a error in describing your tool, number of users etc. Please let me know and I correct it. Should I have forgotten a tool and/or author, I apologize for that. Just send me a PM or post it in this thread.

Please lets concentrate solely on the technical aspects. Lets not discuss whether or not there will be in game trading tools. And Please lets NOT turn this thread into another pro vs contra third party (trading) tools thread. Those discussions for me are the equivalent of the trenches war of WWI. Nobody makes progress - no matter how hard a particular site tries. If you want to discuss it, the perfect place is "Direct question for Michael Brookes". I sincerely hope and trust you respect my wishes.

Addendum/correction. I was the cause of spreading some misinformation about how to upload data to EDDN,my bad. Need better RTFM skills and/or more time. Luckily jamesremuscat (who´s is setting up EDDN corrected me): Snippet: "But the upload of data for EMDR/EMDN was (and therefore EDDN will be) an HTTP POST to a gateway, which deals with pushing the data across the ZeroMQ system for you. Uploader-users don't need to worry about ZeroMQ.

Credits:
Vivio Technologies for free hosting.
After I created this OP I was contacted by commander Errantthought. He and his boss/manager both play ED. After talking to his boss he was able to offer me a free hosting solution (VPS Hosting) for the EDDN. I want to thank them both and their company for donating the resources to make EDDN possible.

jamesremuscat. For reviving Andreas EMDN and creating the EDDN. Much appreciated.







Hi!

How do I help with the input, where do I sign up to send information from stations?
Need some sort of manual, haha :)
 

wolverine2710

Tutorial & Guide Writer
I literally asked the moderators 2-3 minutes ago if my thread could be moved from "Elite Dangerous->Gameplay and Features->Guides and Tutorials" to "Elite Dangerous->Gameplay and Features->Player Tools & API Development" aka here. Noticed it has been moved. Thanks moderators for the very fast reply/action. Appreciated.
 

wolverine2710

Tutorial & Guide Writer
Updated OP on Saturday the 23th of January 2016.

I've updated the OP. It was LONG overdue. Also added the following to it.

Brilliant news
:
On the 5th of January 2016, Zac Antonaci -Head of Community Management of FD- wrote in the "Open Letter to Frontier Developments" thread that usage of the iPhone companion app api is LEGAL. Source. Which makes the usage of tools which use this api like EDMC, EDAPI and EDCE LEGAL. Other great news: On the 18th of January 2016, Brett C. -Community Assistant/Manager of FD- created the "Elite Dangerous->Gameplay and Features->Player Tools & API Development" subforum. Its an excellent place for checking out new and existing tools. The EDCodex thread is also there.
 
Last edited:
Status
Thread Closed: Not open for further replies.
Top Bottom