UNPKG

poh-validator-hcaptcha-react

Version:

Proof-of-Humanity Validator Plugin React Component for hCaptcha API

72 lines (42 loc) 2.81 kB
# Proof-of-Humanity Validator Plugin React Component for hCaptcha API [![NPM](https://img.shields.io/npm/v/poh-validator-hcaptcha-react)](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