On 15 January 2018 at 14:19, Hernán Morales Durand <hernan.morales@gmail.com> 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
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 <btc@openinworld.com>:
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