You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Change `<RID>` to whatever platform you are using. More info [here](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#using-rids).
31
+
32
+
##### From Visual Studio
33
+
34
+
You can also publish from Visual Studio (right click project, select publish), which allows easily changing the platform, .NET core version and self-contained binary settings.
ExchangeSharp is a C# console app and framework for trading and communicating with various exchange API end points for cryptocurrency assets. Many exchanges are supported, along with web sockets, withdraws and more! Feel free to visit the discord channel at https://discord.gg/sHCUHH3 and chat with other developers.
6
+
ExchangeSharp is a C# **framework/lib** and [console app](#Installing-the-CLI) for trading and communicating with [various](#Exchanges) exchange API end points for cryptocurrency assets. Many exchanges are supported, along with [web sockets](#Websockets), withdraws and more!
7
+
8
+
Feel free to visit the discord channel at https://discord.gg/sHCUHH3 and chat with other developers.
7
9
8
10
### Features
9
11
- Many exchanges supported with public, private and web socket API
10
12
- Easy to use and well documented code and API
11
13
- Optional global market symbol normalization, since each exchange has their own way of doing market symbols
12
-
- Runs anywhere .NET core will run (Windows 8.1 or newer, MAC, Linux, iOS, Android, Unity 2018+, etc.)
- Can be used from [many different C# platforms](https://github.com/dotnet/standard/blob/master/docs/versions/netstandard2.0.md#platform-support)
16
+
- Has a great [CLI](#Installing-the-CLI) that enables you to use all features from all exchanges right from your command line.
13
17
14
18
### Exchanges
15
19
The following cryptocurrency exchanges are supported:
@@ -26,7 +30,7 @@ The following cryptocurrency exchanges are supported:
26
30
| BitMEX | x | x | R O |
27
31
| Bitstamp | x | x | R |
28
32
| Bittrex | x | x | T R |
29
-
| BL3P | x || R O|
33
+
| BL3P | x | x | R B | Trades stream does not send trade's ids.
30
34
| Bleutrade | x | x ||
31
35
| Coinbase | x | x | T R |
32
36
| Digifinex | x | x | R B |
@@ -47,94 +51,85 @@ The following cryptocurrency exchanges are supported:
47
51
The following cryptocurrency services are supported:
48
52
- Cryptowatch (partial)
49
53
54
+
### Installing the CLI
55
+
56
+
On *nix systems:
57
+
- Run this command `curl https://github.com/jjxtra/ExchangeSharp/raw/master/install-console.sh | sh`
58
+
59
+
On Windows (or manually):
60
+
- Download the [latest binaries](https://github.com/jjxtra/ExchangeSharp/releases/latest) for your OS.
61
+
- Unzip it into a folder that is in your environment variable `PATH` (`ctrl` + `shift` + `pause|break` -> Environment Variables)
62
+
- Use it from the your preferred command-line emulator (e.g. Powershell, cmd, etc.)
63
+
-`exchange-sharp --help` shows all available commands
64
+
50
65
### Notes
51
-
ExchangeSharp uses 'marketSymbol' to refer to markets, or pairs of currencies.
66
+
ExchangeSharp uses **`marketSymbol`** to refer to markets, or pairs of currencies.
52
67
53
68
Please send pull requests if you have made a change that you feel is worthwhile, want a bug fixed or want a new feature. You can also donate to get new features.
54
69
55
-
### Building
56
-
Visual Studio 2017 is recommended. .NET 4.7.2+ or .NET core 2.2+ is required.
57
-
If running on Windows, you should use Windows 8.1 or newer.
70
+
### [Building/Compiling](./BUILDING.md)
58
71
59
-
If you must use an older Windows, you'll need to use the Websocket4Net nuget package, and override the web socket implementation by calling
72
+
### Websockets
60
73
61
-
```ExchangeSharp.ClientWebSocket.RegisterWebSocketCreator(() => new ExchangeSharpConsole.WebSocket4NetClientWebSocket());```
74
+
If you must use an older Windows (older than win8.1), you'll need to use the [Websocket4Net][websocket4net] nuget package, and override the web socket implementation by calling
62
75
63
-
See WebSocket4NetClientWebSocket.cs for implementation details.
64
-
```
65
-
Windows: Open ExchangeSharp.sln in Visual Studio and build/run
66
-
Other Platforms: dotnet build ExchangeSharp.sln -f netcoreapp2.1
You can also publish from Visual Studio (right click project, select publish), which allows easily changing the platform, .NET core version and self-contained binary settings.
82
+
See [`WebSocket4NetClientWebSocket.cs`][websocket4net] for implementation details.
ExchangeSharp uses NLog internally currently. To log, use ExchangeSharp.Logger. Do not use Console.WriteLine to log messages.
119
+
ExchangeSharp uses NLog internally _currently_. To log, use `ExchangeSharp.Logger`.
120
+
121
+
Do **not** use `Console.WriteLine` to log messages in the lib project.
128
122
129
-
Provide your own nlog.config or app.config nlog configuration if you want to change logging settings or turn logging off.
123
+
Provide your own `nlog.config` or `app.config` nlog configuration if you want to change logging settings or turn logging off.
130
124
131
125
### Caching
132
-
The ExchageAPI class provides a method caching mechanism. Use MethodCachePolicy to put caching behind public methods, or clear to remove caching. Some methods are cached by default. You can set ExchangeAPI.UseDefaultMethodCachePolicy to false to stop all caching as well.
126
+
127
+
The `ExchageAPI` class provides a method caching mechanism. Use `MethodCachePolicy` to put caching behind public methods, or clear to remove caching. Some methods are cached by default. You can set `ExchangeAPI.UseDefaultMethodCachePolicy` to `false` to stop all caching as well.
133
128
134
129
You can also set request cache policy if you want to tweak how the http caching behaves.
135
130
136
131
### How to contribute
137
-
Please read the [contributing guideline](CONTRIBUTING.md) before submitting a pull request.
132
+
Please read the [contributing guideline](CONTRIBUTING.md)**before** submitting a **pull request**.
138
133
139
134
### Consulting
140
135
I'm happy to make customizations to the software for you and keep in private repo, email [email protected].
0 commit comments