diff --git a/README.md b/README.md new file mode 100644 index 0000000..f23980f --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +[![status-badge](https://ci.batsense.net/api/badges/109/status.svg)](https://ci.batsense.net/repos/109) + +--- + +# gomcaptcha: Go library that implements mCaptcha PoW + +## Overview + +Normal usage within mCaptcha ecosystem will look like this: + +1. mCaptcha server presents challenge parameters (`difficulty_factor`, salt, and challenge phrase) +2. Visitor computes Proof-of-Work using parameters received +3. Visitor submits Proof-of-Work to mCaptcha server and receives + authorization token if Proof-of-Work is valid. +4. Visitor submits Proof-of-Work to protected resource/server + +This library implements step #2 from this process. + +## Dependencies + +1. [Rust compiler](https://rustup.rs): This library is a thin wrapper + over [mcaptcha-pow-ffi](./mcaptcha-pow-ffi), which has to be compiled + first before this library can be used. +2. Go +3. GNU Make + +Compile Rust FFI library: + +```bash +make rust.build +``` + +Run example: + +```bash +make example +``` + +## Usage + +Please refer to [example](./examples/main.go).