@windingtree/trust-clue-curated-list

Trustworthiness clue for Winding Tree based on a smart contract list of identities curated by an authority

Usage no npm install needed!

<script type="module">
  import windingtreeTrustClueCuratedList from 'https://cdn.skypack.dev/@windingtree/trust-clue-curated-list';
</script>

README

Winding Tree Trustworthiness Clue - Curated List

Greenkeeper badge

Trustworthiness clue for Winding Tree based on a smart contract with a list of identities curated by an authority.

Installation

npm install @windingtree/trust-clue-curated-list
# or
git clone https://github.com/windingtree/trust-clue-curated-list
nvm install
npm install

Usage

This library is best used with @windingtree/wt-js-libs where it can be combined with other trust clues which can be used to determine a trust level towards an Ethereum address.

import { WtJsLibs } from '@windingtree/wt-js-libs';
import { TrustClueCuratedList } from '@windingtree/trust-clue-curated-list';

const libs = WtJsLibs.createInstance({
  onChainDataOptions: {
    provider: 'http://localhost:8545',
  },
  trustClueOptions: {
    clues: {
      'curated-list': {
        options: {
          provider: 'http://localhost:8545',
          address: '0x...',
          interpret: (value) => {
            return !!value;
          }
        },
        create: async (options) => {
          const aa = new TrustClueCuratedList(options);
        },
      },
    },
  },
});

To use this as a standalone package, you would do something like this:

import { TrustClueCuratedList } from '@windingtree/trust-clue-curated-list';

const list = new TrustClueCuratedList({
  // Web3 provider
  provider: 'http://localhost:8545',
  // Address of a deployed instance of CuratedList contract
  address: '0x...',
  // interpret function - this allows you to do something with the raw
  // value returned by the clue during the interpretation. You can use
  // it to convert all clues to a boolean to easily work with multiple
  // clues in your software.
  interpret: (value) => {
    return value ? 1 : 0; 
  }
});