Veriscope Change Log

Releases of Veriscope occur often. Before deploying a new release, ensure you have backed-up your Trust Anchor account(s) (TRUST_ANCHOR_ACCOUNT) and Trust Anchor private key(s) (TRUST_ANCHOR_PK).

In the event you wish to do a clean deploy, after you complete the installation, replace the newly created Trust Anchor account with your backup and restart ta-node-1 and ta-node-2.

Update Trust Anchor Account(s)

cd /opt/veriscope/veriscope_ta_node
nano .env
Sample veriscope_ta_node/.env file
#From v3.6.0, Multiple Trust Anchors can be added as illustrated
#DO NOT INCLUDE "0x" prefix in TRUST_ANCHOR_PK
TRUST_ANCHOR_PREFNAME="Singapore VASP", "ta1", "ta2"
TRUST_ANCHOR_ACCOUNT=0x...15, 0x...25, 0x...35
TRUST_ANCHOR_PK=aa...10, ab...20, ac...30
WEBHOOK_CLIENT_SECRET=abcdefg*

HTTP="http://localhost:8545"
WS="ws://localhost:8545"
WEBHOOK="http://localhost:8000/webhook"
HTTP_API_PORT=8080
TEMPLATE_HELPER_PORT=8090

CONTRACTS=/opt/veriscope/veriscope_ta_node/artifacts/

#Veriscope Smart Contracts
TRUST_ANCHOR_MANAGER_CONTRACT_ADDRESS="0x........06"
TRUST_ANCHOR_STORAGE_CONTRACT_ADDRESS="0x........66"
TRUST_ANCHOR_EXTRA_DATA_GENERIC_CONTRACT_ADDRESS="0x.......4c"
TRUST_ANCHOR_EXTRA_DATA_UNIQUE_CONTRACT_ADDRESS="0x........a8"

#redis
REDIS_URI=redis://127.0.0.1:6379
LOG_LEVEL=info

SIGN_MESSAGE="VERISCOPE"
As mentioned in the example, do not include "0x" prefix in TRUST_ANCHOR_PK value(s)!

Restart ta-node-1 and ta-node-2

sudo systemctl stop nethermind
sudo systemctl restart ta-node-1
sudo systemctl restart ta-node-2

Releases

v4.0.0 | 2023-Apr-19 | Veriscope Infrastructure as Code (IaC)

To learn more, check-out our docs on the Veriscope Infrastructure as Code.

v3.6.1 | 2023-Apr-11 | Bloom Filter

To learn more, check-out our docs on the Veriscope Bloom Filter.

To upgrade an existing Veriscope instance (pre v3.6.1), SSH onto your Veriscope Server and run the following commands:

cd /opt/veriscope
git branch checkout main
git pull
cd /opt/veriscope/veriscop_ta_dashboard
php artisan migrate
cd ~/opt/veriscope
scripts/setup-vasp.sh
#Input value “17” to run step 17

v3.6.0 | 2023-Mar-07 | Support for Multiple Trust Anchors

Veriscope now supports multiple trust anchors (MTAs) thus enabling VASPs and Service Providers to deploy a single Veriscope instance and run multiple trust anchor accounts. To learn more, check-out our docs on Multiple Trust Anchors.

To upgrade from an earlier version of Veriscope, run the following commands:

// pull the latest code
cd /opt/veriscope
git pull
cd /opt/veriscope/veriscope_ta_node
npm install
cd /opt/veriscope/veriscope_ta_dashboard
npm install
cd /opt/veriscope/veriscope_ta_dashboard
php artisan migrate
npm run dev

v3.5.0 | 2023-Jan-30 | Node Synchronization Upgrade

Several enhancements have been made to streamline how the Veriscope Relay Node (upgraded to Nethermind v1.15.0 as part of this release) synchronizes data from the Shyft Blockchain and how corresponding events are saved to Veriscope. Events in this context are Verified Trust Anchors, Discovery Layer Key Value Pairs, and Attestations all of which are saved to each Veriscope instance.

The expected time for the above processes to complete is now between 4-6 hours, down from 12+hrs before.

For more information, please refer to our note on Node Synchronization in Troubleshooting.


v3.4.0 | 2023-Jan-20 | Veriscope UI Update

Settings Page
User Settings
Webhook URL
API Tokens

v3.3.0 | 2023-Jan-20 | IVMS Update

To update an existing Veriscope instance, run the following command:

cd /opt/veriscope/veriscope_ta_dashboard
php artisan migrate
  • Additional IVMS fields added to bring in-line with the IVMS specification

  • IVMS values saved to Veriscope are now shown in the IVMS form input fields

  • VASPs can now export their IVMS data in the required IVMS format as Originating VASP or Beneficiary VASP (see here for more details)


v3.2.0 | 2023-Jan-20 | Blockchain Analytics Update

  • API endpoint for Merkle Science has been corrected

  • The API endpoints used for each Blockchain Analytics service provide are now shown in the Veriscope UI (next to where VASPs can input their API keys for same.)


v3.0.0 | 2022-Nov-08 | Address Proofs 🗝

To update your existing Veriscope instance:

run setup dependencies
run composer update
run php artisan db:migrate
run step 16

To learn more about the proofs, please visit Veriscope Address Proofs and/or contact your Veriscope representative.


2022-Aug-31 | Sandbox Environment (aka Robot VASPs)

The Sandbox Environment enables VASPS to conduct end-to-end tests as either an oVASP or bVASP without having to coordinate with another node. As such, VASPs no-longer need to run multiple nodes or to coordinate with the Veriscope integration team when testing their flows.

This will save developers a significant amount of time when integrating the Veriscope API and webhook events into their backend server.

For more information, please refer to the Sandbox Environment section of the docs.


2022-Aug-31 | PR65: Removed deprecated Veriscope UI views and functions

The Manager Users and Attestation Admin sections of the Versicope dashboard have been removed. These were initially added to illustrate how a VASP could post an attestation (/end-user withdrawal request) to the Shyft network, however, were a constant source of confusion given the need to create a random user(s) for demo purposes.

Veriscope doesn’t store end-user data and attestations should be posted via the Veriscope API. The Veriscope The Veriscope Postman Collection is the preferred & recommended interface to post test attestations.

In addition to the above:

  • Register Jurisdiction has been removed from Manage Organziation

  • UI error messages have been improved


2022-Aug-31 | PR64: Synchronous refresh of blockchain data by block number

Synchronous refresh fixes the issue of nodes being out-of-sync after coming back online. VASPs no-longer need to trigger a refresh after being offline for a period of time.


2022-Aug-31 | PR63: Elliptic Blockchain Analytics

Veriscope now supports Elliptic Crypto Wallet Screening.


2022-Jun-06 | PR62: State Machine V1

Hi Everyone. I am pleased to share with you the latest Veriscope release. This is our largest release since launching on mainnet and includes several key enhancements requested by VASPs during their integration testing phase.

This release introduces the following capabilities:

  • oVASPs can send encrypted KYC/IVMS data along with their signature data

  • Both oVASP and bVASP can accept or reject an IVMS transfer

  • VASPs can subscribe to several new webhook events that trigger an action/response on their side, e.g. when signature data or KYC/IVMS data is requested and when encrypted IVMS data is received or has been accepted. With the webhook events there is no-longer a need for polling statuses.

This is a breaking release and is not compatible with previous versions of Veriscope. As such, it is required for VASPs to upgrade to this version prior to going live on mainnet.

If you have integrated with a previous version of Veriscope, you will need to a) Upgrade to this release b) Delete existing KYC templates, and c) Implement logic to handle new webhook events & statuses

To upgrade, run the following commands:

// pull the latest code
$ pwd
/opt/veriscope
$ git pull

// delete existing KYC templates
$ pwd
/opt/veriscope/veriscope_ta_dashboard
$ php artisan tinker
Psy Shell v0.11.2 (PHP 8.1.3 — cli) by Justin Hileman
> > > KycTemplate::truncate();
> > > exit
> > > Exit: Goodbye$ pwd
/opt/veriscope/veriscope_ta_dashboard
$ composer install
$ php artisan migrate

Further information can be found here:

The Veriscope team is confident that we have captured your requests and look forward to discussing the changes and your implementation plan over the coming weeks. Please reach out if you have any questions or would like a demo of the end-to-end flow.


2022-May-31 | PR55: blockNumber Bug Fix

Nice bug find by LocalBitcoins team. Issue discovered was the blockNumber was not recording in the DB as events occurred, only as DL keys were refreshed via the dashboard or Token API.

After pulling in the PR, restart ta-node-1.

sudo systemctl restart ta-node-2

2022-May-20 | PR54: Support for Chainalysis and Coinfirm

Hi Everyone, we have added Chainalysis and Coinfirm Blockchain Analytics Providers to the backoffice. To enable this release please run the following:

$ pwd
/opt/veriscope
$ git pull

$ cd veriscope_ta_dashboard/
$ pwd
/opt/veriscope/veriscope_ta_dashboard
$ php artisan migrate

2022-Mar-31 | PR43: Discovery Layer events now store block number

We updated discovery layer events to store block number. Displaying block numbers will give you indication on when a Discovery Layer Key Value was created or updated.

change log pr43a

Please run php artisan migrate to take effect.

$ pwd
/opt/veriscope
$ git pull
$ cd veriscope_ta_dashboard/
$ php artisan migrate

New Postman Collection API update: Refreshing Verified Trust Anchors & Discovery Layer Key Values

change log pr43b

2022-Mar-18 | PR39: V3 Attestations and V2 KYC Templates

This release includes V3 Attestations and V2 KYC Templates. V3 Attestations means you can now post Wallet attestations to include coin blockchain, coin token, coin address and coin memo (destination tag). Naturally these coin meta fields are included in the KYC Template along with optional coin transaction hash, coin transaction value.

Setting v2 attestations is now deprecated.

Feel free to reach out with any questions. Thank you team Coinhako and team Huobi whom both requested this release.

To enable this release please run the following:

$ pwd
/opt/veriscope
$ git pull

$ cd veriscope_ta_dashboard/
$ pwd
/opt/veriscope/veriscope_ta_dashboard
$ php artisan migrate
$ npm run development
$ sudo systemctl restart ta-node-1

2022-Mar-11 | PR38: New API Endpoints

Hi Everyone, we have released a number of available API Token Requests.

  • Set Attestation

  • Create Shyft User

  • Get Jurisdictions

  • Get Verified Trust Anchors

  • Is Trust Anchor Verified

  • Get Trust Anchors Details

  • Get Trust Anchor API_URL

  • Get Trust Anchor Account

  • Get Attestations

  • Create KYC Template

  • Encrypt IVMS

  • Decrypt IVMS

  • Get KYC Templates

  • Recover Beneficiary TA Signature

  • Recover Originator TA Signature

  • Recover Beneficiary User Signature

  • Recover Originator User Signature

Special thanks to Bitfinex/Tether @Ezequiel (Bitfinex/Tether) and Huobi @Serene Ng for requesting this release. (edited)


2022-Mar-11 | PR37: Laravel Horizon is now available in Veriscope

Hi Everyone, Laravel Horizon is now available in Veriscope. Horzion is a dashboard to manage Redis Queues. One queue in particular interest to VASPs is receiving webhook notifications for all incoming Attestations from the blockchain. By registering a custom wehook url and secrete, your own backoffice will receive all crypto wallet attestations.


2022-Mar-11 | PR36: Support for Crystal Blockchain and MerkleScience

Hi Everyone, very pleased to share with you that Veriscope through partners Crystal & MerkleScience, VASPs can now add their partner API keys can receive their wallet screening reports - independently or in parallel with Set Attestation. Simply add your API key and Create Reports.


2022-Mar-01 | PR35: Veriscope has been deployed to Fed testnet and Shyft Mainnet

Hi Everyone, we are pleased to share that Veriscope has been deployed to both the Fed testnet and Shyft Mainnet. This PR contains instructions and configs to connect to one of all three available networks.


2022-Feb-11 | PR34" Minor release to improve the generation of the KYC Template

Hi Everyone, minor release here. To improve the generation of the KYC Template, TA and User public keys, signatures and signature hashes are now created by nodejs instead of passing the private key from the webapp.

When you load in the TA account, the public key, signature and signature hash are created from nodejs and passed to the webapp.

Further when generating random users for testing, a public key, signature and signature hash is provided by nodejs the same.

To see this update in the webapp please run this following after pulling in the PR

$ pwd
/opt/veriscope/veriscope_ta_dashboard
$ npm run development

Also please restart NodeJS:

sudo systemctl restart ta-node-1 ta-node-2

You should see the public key, signature and signature hash in the UI upon pulling in this release as shown here:

change log pr34a
change log pr34b

2022-Feb-02 | PR31: External API functions for creating Shyft IDs

As per request of Bitfinex/Tether we have added external API functions for creating Shyft IDs for your users, posting attestations from your exchange among other API functions.

We’ve added a Postman collection in the readme for your convenience in testing.

Please note for this PR, please run composer update in:

$ pwd
/opt/veriscope/veriscope_ta_dashboard
$ composer update

Tou will also need to run step 14) Install Passport Client Environment Variables in:

$ pwd
/opt/veriscope
$ sudo scripts/setup-vasp.sh

2022-Jan-25 | PR30: Refresh blockchain data from the Veriscope dashboard

As per request of Huobi, you can now refresh some blockchain data from the dashboard (Verified Trust Anchors, Discovery Layers, Attestations).

change log pr30a
change log pr30b