Thanks everyone who advised on Zinc, REST, NeoJSON, HMAC & Libsodium
to help me on my way to implement an interface to the Bittrex bitcoin exchange. I've got to the point where I'm happy to make an initial 0.x release. After all my years having fun hacking around Pharo, this is my first (tiny) product. Hopefully it may grow. :) The implementation is probably closest to a Command pattern with a class per entry-point. All the v1.1 entry points are implemented except a few to deposit & withdraw money from the exchange. These are currently infrequent events for me and left for manual action. I'm optimistic that I'll add a few more exchanges so I created a github org to group them together. Contributions welcome. Please see quick start instructions here... https://github.com/Traadh/bittrex Have fun and take care... https://imgs.xkcd.com/comics/engineer_syllogism.png cheers -ben |
Hi Ben,
Thank you for sharing this, looks really cool. I have some issues installing the library. In the "Clone repository" dialog I had to use https://github.com/Traadh/bittrex.git The install procedure did not downloaded the libsodium library. I had to install it from loading Nacl. Any particular difference with Nacl? From the dll in Nacl I can see Bittrex functions are supported but appending a "256" in the function prototype, i.e.: crypto_auth_hmacsha512256_keybytes , maybe you can add the functions to the Nacl repository? http://www.smalltalkhub.com/#!/~tonyg/Crypto-Nacl Or you can use the URL's in ConfigurationOfNacl>>platformLibraryUrl to download the library for each platform, or integrate the download procedure in https://github.com/hernanmd/MetacelloFileDownload Cheers, Hernán 2018-01-13 16:07 GMT-03:00 Ben Coman <[hidden email]>: > Thanks everyone who advised on Zinc, REST, NeoJSON, HMAC & Libsodium > to help me on my way to implement an interface to the Bittrex bitcoin > exchange. I've got to the point where I'm happy to make an initial > 0.x release. After all my years having fun hacking around Pharo, this > is my first (tiny) product. Hopefully it may grow. :) > > The implementation is probably closest to a Command pattern > with a class per entry-point. All the v1.1 entry points are > implemented except a few to deposit & withdraw money from the > exchange. These are currently infrequent events for me and left for > manual action. > > I'm optimistic that I'll add a few more exchanges so I created a > github org to group them together. Contributions welcome. > > Please see quick start instructions here... > https://github.com/Traadh/bittrex > > Have fun and take care... > https://imgs.xkcd.com/comics/engineer_syllogism.png > > cheers -ben > |
On 15 January 2018 at 14:19, Hernán Morales Durand
<[hidden email]> wrote: > Hi Ben, > > Thank you for sharing this, looks really cool. > > I have some issues installing the library. In the "Clone repository" > dialog I had to use > > https://github.com/Traadh/bittrex.git > Which OS are you on? For Windows you need to enable Iceberg > Settings > Custom keys since Iceberg is not playing well there with ssh-agent. Also, the software for creating ssh keys is not built into Windows. Try... http://guides.beanstalkapp.com/version-control/git-on-windows.html Have you previously accessed github via SSH keys from command line? Check your SSH keys are configured properly... https://help.github.com/articles/testing-your-ssh-connection/ and if not, get that working first... https://help.github.com/articles/connecting-to-github-with-ssh/ > The install procedure did not downloaded the libsodium library. Whoops, missed that. I'll update the procedure. Also its about time I write my first Baseline. > I had to install it from loading Nacl. > Any particular difference with Nacl? From the dll in Nacl I can see > Bittrex functions are supported but appending a "256" in the function > prototype, i.e.: crypto_auth_hmacsha512256_keybytes , > maybe you can add the functions to the Nacl repository? > http://www.smalltalkhub.com/#!/~tonyg/Crypto-Nacl I tried Crpto-Nacl first. This was my first time using Libsodium and it was difficult to find examples directly on the HMAC512 function I needed. The sample C code I compiled as a test didn't match the function names exported from Crypto-Nacl so this confounded my trials. It was simple to FFI wrap the one Libsodium function I needed, so thats what I did. The Configuration of Crypto-Nacl downloads a pre-compiled libsodium that exports different symbols to the system libsodium. So IIUC its not a matter of just adding extra Smalltalk methods to the Crypto-Nacl. I don't know enough about Libsodium to understand the difference in function naming and I guess replacing it might break existing users ?? > Or you can use the URL's in ConfigurationOfNacl>>platformLibraryUrl to > download the library for each platform, > or integrate the download procedure in > https://github.com/hernanmd/MetacelloFileDownload good idea. thx for the tip. cheers -ben > > Cheers, > > Hernán > > > > > > > 2018-01-13 16:07 GMT-03:00 Ben Coman <[hidden email]>: >> Thanks everyone who advised on Zinc, REST, NeoJSON, HMAC & Libsodium >> to help me on my way to implement an interface to the Bittrex bitcoin >> exchange. I've got to the point where I'm happy to make an initial >> 0.x release. After all my years having fun hacking around Pharo, this >> is my first (tiny) product. Hopefully it may grow. :) >> >> The implementation is probably closest to a Command pattern >> with a class per entry-point. All the v1.1 entry points are >> implemented except a few to deposit & withdraw money from the >> exchange. These are currently infrequent events for me and left for >> manual action. >> >> I'm optimistic that I'll add a few more exchanges so I created a >> github org to group them together. Contributions welcome. >> >> Please see quick start instructions here... >> https://github.com/Traadh/bittrex >> >> Have fun and take care... >> https://imgs.xkcd.com/comics/engineer_syllogism.png >> >> cheers -ben >> > |
Hi Ben
2018-01-15 4:53 GMT-03:00 Ben Coman <[hidden email]>: > On 15 January 2018 at 14:19, Hernán Morales Durand > <[hidden email]> wrote: >> Hi Ben, >> >> Thank you for sharing this, looks really cool. >> > > > >> I have some issues installing the library. In the "Clone repository" >> dialog I had to use >> >> https://github.com/Traadh/bittrex.git >> > > Which OS are you on? > For Windows you need to enable Iceberg > Settings > Custom keys > since Iceberg is not playing well there with ssh-agent. > Also, the software for creating ssh keys is not built into Windows. Try... > http://guides.beanstalkapp.com/version-control/git-on-windows.html > > > Have you previously accessed github via SSH keys from command line? > Check your SSH keys are configured properly... > https://help.github.com/articles/testing-your-ssh-connection/ > and if not, get that working first... > https://help.github.com/articles/connecting-to-github-with-ssh/ > Thanks, I am using Windows and actually I can use other repositories. Anyway I prefer to wait the Baseline :) > >> The install procedure did not downloaded the libsodium library. > > Whoops, missed that. I'll update the procedure. > Also its about time I write my first Baseline. > > >> I had to install it from loading Nacl. >> Any particular difference with Nacl? From the dll in Nacl I can see >> Bittrex functions are supported but appending a "256" in the function >> prototype, i.e.: crypto_auth_hmacsha512256_keybytes , >> maybe you can add the functions to the Nacl repository? >> http://www.smalltalkhub.com/#!/~tonyg/Crypto-Nacl > > I tried Crpto-Nacl first. This was my first time using Libsodium and > it was difficult to find examples directly on the > HMAC512 function I needed. The sample C code I compiled as a test > didn't match the function names > exported from Crypto-Nacl so this confounded my trials. It was simple > to FFI wrap the one Libsodium function I needed, > so thats what I did. Crypto-Nacl just provides the core operations, while sodium is a Nacl fork which includes extra functions, which honestly I never need but the library should work as well as they claim to be 100% compatible. > > The Configuration of Crypto-Nacl downloads a pre-compiled libsodium > that exports different symbols to the system libsodium. I didn't knew there was a system libsodium. I guess it is some lib that is included in you OS by default. > So IIUC its not a matter of just adding extra Smalltalk methods to the > Crypto-Nacl. > I don't know enough about Libsodium to understand the difference in > function naming > and I guess replacing it might break existing users ?? > I will have a look, can you provide a link to the libsodium library you are using? > >> Or you can use the URL's in ConfigurationOfNacl>>platformLibraryUrl to >> download the library for each platform, >> or integrate the download procedure in >> https://github.com/hernanmd/MetacelloFileDownload > > good idea. thx for the tip. > cheers -ben > > >> >> Cheers, >> >> Hernán >> >> >> >> >> >> >> 2018-01-13 16:07 GMT-03:00 Ben Coman <[hidden email]>: >>> Thanks everyone who advised on Zinc, REST, NeoJSON, HMAC & Libsodium >>> to help me on my way to implement an interface to the Bittrex bitcoin >>> exchange. I've got to the point where I'm happy to make an initial >>> 0.x release. After all my years having fun hacking around Pharo, this >>> is my first (tiny) product. Hopefully it may grow. :) >>> >>> The implementation is probably closest to a Command pattern >>> with a class per entry-point. All the v1.1 entry points are >>> implemented except a few to deposit & withdraw money from the >>> exchange. These are currently infrequent events for me and left for >>> manual action. >>> >>> I'm optimistic that I'll add a few more exchanges so I created a >>> github org to group them together. Contributions welcome. >>> >>> Please see quick start instructions here... >>> https://github.com/Traadh/bittrex >>> >>> Have fun and take care... >>> https://imgs.xkcd.com/comics/engineer_syllogism.png >>> >>> cheers -ben >>> >> > |
Free forum by Nabble | Edit this page |