poh-validator-hcaptcha-react
Version:
Proof-of-Humanity Validator Plugin React Component for hCaptcha API
72 lines (42 loc) • 2.81 kB
Markdown
# Proof-of-Humanity Validator Plugin React Component for hCaptcha API
[](https://www.npmjs.com/package/poh-validator-hcaptcha-react)
React component providing the UI for [Proof-Of-Humanity hCaptcha validator API](https://github.com/bakoushin/poh-validator-hcaptcha-api).
This component has to be used as a plugin within [Proof-of-Humanity-React](https://npmjs.com/packages/poh-react) wrapper component.
## Live dApp demo
https://poh-counter.bakoush.in ([source code](https://github.com/bakoushin/poh-counter-example))
## Required props
You have to provide these props:
`validatorApiUrl` _(string)_ – URL of validator API. Validator API for use with this component: [Proof-of-Humanity hCaptcha Validator API](https://github.com/bakoushin/poh-validator-hcaptcha-api)
`sitekey` _(string)_ – [hCaptcha](https://www.hcaptcha.com/) sitekey. Must be obtained by registration on the hCaptcha site
## Returned object
- `error` _(boolean)_ – `true` in case of error; otherwise `false`
- `errorMessage` _(string)_ – in case of error; otherwise `null`
- `proof` _(string)_: proof-of-humanity (a hex string); `null` in case of error
## Usage with `poh-react`
```jsx
import hCaptchaValidator from 'poh-validator-hcaptcha';
import { useProofOfHumanity } from 'poh-react';
const validator = (
<HCaptchaValidator
validatorApiUrl="http://localhost:3000/api/v1/proof"
sitekey="10000000-ffff-ffff-ffff-000000000001"
/>
);
const { getProofOfHumanity } = useProofOfHumanity(validator);
```
## Hidden props
These props are used internally by `poh-react`. Normally you don't bother working with them.
These props are used internally by `poh-react`. Normally you don't bother working with them.
`renderLogoOnly` _(boolean)_ – if `true`, the component will render its logo instead of the actual [hCaptcha](https://www.hcaptcha.com/) interface
`data` _(string)_ – data (a hex string) to be included in signed proof-of-humanity. Can be a random hex challenge, or a random hex challenge along with the address owner's signature
`onVerify` _(function)_ – will be called from the component once validation is complete with the returned object as the only parameter
## See also
- [Proof-of-HUMANity on-chain: protect your smart contracts from bots](https://www.humanprotocol.org/blog/proof-of-humanity-on-chain-protect-your-smart-contracts-from-bots)
- [Proof-of-Humanity-React](https://npmjs.com/packages/poh-react)
- [Proof-of-Humanity hCaptcha Validator API](https://hub.docker.com/r/bakoushin/poh-validator-hcaptcha)
- [Proof-of-Humanity Solidity Contracts](https://npmjs.com/package/poh-contracts)
- [Counter dApp Example](https://github.com/bakoushin/poh-counter-example)
## Author
Alex Bakoushin
## License
MIT