A Certified Training and Development Professional is a member of the Institute for Performance and Learning (I4PL) who has demonstrated mastery of the seven competency areas that make up the body of knowledge for workplace training professionals, known as the Competencies for Performance and Learning Professionals.
Issuer |
The Institute for Performance and Learning |
Issued On |
1707912000 |
Expires |
1803816000 |
Check that the badge was awarded to the correct recipient by entering their email address:
verified_user Verified — This badge has blockchain validation enabled.
fingerprint Verified — SHA256 checksum of the hosted assertion matches stored targetHash value.
call_merge Verified — Values for targetHash, proof, and merkleRoot form a valid Merkle Path.
link Verified — MerkleRoot is anchored to blockchain.
{ "anchors" : [ { "chain" : "ethereumMainnet", "sourceId" : "0xd73da25786baf552df60c312dc8a7302d27af1e2db850f5a299d6e9bcf2673ce", "type" : "ETHData" } ], "merkleRoot" : "a37e29dcccad65005ebdb2214d657ae2ae3d3c1cfad525a9628a384224e00e79", "proof" : [ { "right" : "905bc02eb9a80cd4b2f1a8c79b95424797f78cf929ff65f941ab4132d004bf6a" }, { "right" : "8f01aaf510100b4781683b7625b7f2bdd564ecb69723b8a4b58831cb375b44ba" }, { "right" : "124ae6c2192b84c50c4cd253c94493231d5f31b88a6a52ccd8a6e664aec5a412" }, { "left" : "4e75b2a52bd850ec2dd5b37a5e390a08212f3ddff541a32094f1d9b5296f3ad7" }, { "right" : "186505fd1c464fb89fb687345cffb9a95897237aae4e3816806975e4fb4aca6b" }, { "right" : "ba6a4c8bdc483bedfc554d9de47b908efc09d8b671984a3b0d5930d15f7f313d" }, { "right" : "062b618678c772c17c3dd3bd3154d6533fc35244ce8a69af74ab7512724598cb" }, { "right" : "eacef6eed837d2af6a89b5eb9460fef15e75e6e51d6901e0dbb8a03dcddae674" }, { "left" : "51444dc1b4de30102dca681573080a9126c0452534f34794686efedad81420bd" } ], "targetHash" : "901c18889dd95fff70d83ba4d187b4646d737cdc213c82486fb2547bba1d23d5", "type" : "MerkleProof2017" }
Steps for independent verification using provided proof data:
Download the hosted assertion from https://factory.cancred.ca/v1/assertion/0f1646969354294da1b3b951a2f0c0d61eac8e95.json
Calculate the SHA256 checksum of the downloaded JSON string.
Verify that targetHash matches the hex-encoded SHA256 checksum.
Verify that the values targetHash, proof, and merkleRoot form a valid Merkle Path.
Starting with targetHash, traverse the proof list and calculate SHA256 checksums for each pair. Pairs are formed from the value of previous calculation and each list item map value. Argument position of the list item in the hash function is determined by the map key "left" or "right". Final value must match merkleRoot value. Note that all checksums are calculated from hex-decoded binary bytes.
Verify that merkleRoot matches what is stored in the blockchain transactions of the "anchors" list.
The value to check is stored in the data field of an Ethereum transaction identified by sourceId value. You can use a service like https://etherscan.io to look up the data field using the provided transaction hash.