Skip to main content

Issue certificates using blockchain and smart contract

Project description

Certify Issuer

Certify Issuer нь сертификат, диплом, дансны хуулга зэрэг бичиг баримтыг блокчэйн дээр баталгаажуулж өгөх https://github.com/corex-mn/certify-sc ухаалаг гэрээтэй харьцдаг python хэлний сан юм.

Ингэхдээ https://chainpoint.org/ ийн v2.0 стандартыг ашигласан.

Суулгах заавар

pip install certify-issuer

Функцүүд

issue

PDF файлын хаш утгыг тооцож ухаалаг гэрээнд бичээд, гүйлгээний мэдээлэл болон нэмэлт мэдээллүүдийг файлын мэтадата дээр нэмэн шинэ файлд хадгална.

Параметр Тайлбар Заавал эсэх
src_path PDF эх файлын зам тийм
dest_path Мэтадата бичсэн PDF-ийг хадгалах зам тийм
cert_num Сертификатын дахин давхцахгүй дугаар үгүй
address Баталгаажуулагчийн блокчэйн хаяг тийм
issuer_name Баталгаажуулагчийн нэр үгүй
expire_date Дуусах хугацаа үгүй
description Тайлбар, нэмэлт мэдээлэл үгүй
private_key Баталгаажуулагчийн хувийн түлхүүр үгүй /keystore, passphrase өгөөгүй бол заавал/
keystore Хувийн түлхүүрийн keystore файл үгүй /private_key өгөөгүй бол заавал/
passphrase Хувийн түлхүүрийн passphrase файл үгүй /private_key өгөөгүй бол заавал/
certify_address Ухаалаг гэрээний хаяг тийм
node_url Гүйлгээ хийх блокчэйний нөүдний хаяг тийм
is_testnet Тест орчинд ажиллаж буй бол True утга өгнө үгүй /default=False/

Жишээ

from certify_issuer import issuer
try:
    txid, error = issuer.issue(src_path='test.pdf',
                               dest_path='test_result.pdf',
                               cert_num='D00123123',
                               address=MY_ADDRESS,
                               issuer_name='Монгол Улсын Их Сургууль',
                               expire_date=0,
                               description='2022 оны хаврын улирлын төгсөлт',
                               private_key=MY_PRIVATE_KEY,
                               certify_address=CERTIFY_CONTRACT_ADDRESS,
                               node_url='https://node.corexchain.io',
                               is_testnet=False)
    if error is not None:
        print("Error: {}", error)
    else
        print("Success: {}", txid)
except Exception as e:
    print("Error: {}", e)

issue_by_hash

Хаш стрингийг шууд ухаалаг гэрээнд баталгаажуулаад

Параметр Тайлбар Заавал эсэх
hash_str хаш утга тийм
cert_num Сертификатын дахин давхцахгүй дугаар үгүй
address Баталгаажуулагчийн блокчэйн хаяг тийм
expire_date Дуусах хугацаа үгүй
description Тайлбар, нэмэлт мэдээлэл үгүй
private_key Баталгаажуулагчийн хувийн түлхүүр үгүй /keystore, passphrase өгөөгүй бол заавал/
keystore Хувийн түлхүүрийн keystore файл үгүй /private_key өгөөгүй бол заавал/
passphrase Хувийн түлхүүрийн passphrase файл үгүй /private_key өгөөгүй бол заавал/
certify_address Ухаалаг гэрээний хаяг тийм
node_url Гүйлгээ хийх блокчэйний нөүдний хаяг тийм
is_testnet Тест орчинд ажиллаж буй бол True утга өгнө үгүй /default=False/

Жишээ

from certify_issuer import issuer
hash_str = some_hash_function(file_or_something)
try:
    (tx, proof), error = issuer.issue(
                               hash_str='89995e30DAB8E3F9113e216EEB2f44f6B8eb5738',
                               cert_num='D00123123',
                               address=MY_ADDRESS,
                               expire_date=0,
                               description='2022 оны хаврын улирлын төгсөлт',
                               private_key=MY_PRIVATE_KEY,
                               certify_address=CERTIFY_CONTRACT_ADDRESS,
                               node_url='https://node.corexchain.io',
                               is_testnet=False)
    if error is not None:
        print("Error: {}", error)
    else
        print("Success: {} {}", tx, proof)
except Exception as e:
    print("Error: {}", e)

revoke

Нэгэнт ухаалаг гэрээнд баталгаажсан PDF файлыг буцаан хүчингүй болгох функц

Параметр Тайлбар Заавал эсэх
src_path Мэтадата бичигдсэн PDF файлын зам тийм
address Баталгаажуулагчийн блокчэйн хаяг тийм
revoker_name Хүчингүй болгож буй хүний нэр тийм
private_key Баталгаажуулагчийн хувийн түлхүүр үгүй /keystore, passphrase өгөөгүй бол заавал/
keystore Хувийн түлхүүрийн keystore файл үгүй /private_key өгөөгүй бол заавал/
passphrase Хувийн түлхүүрийн passphrase файл үгүй /private_key өгөөгүй бол заавал/
certify_address Ухаалаг гэрээний хаяг тийм
node_url Гүйлгээ хийх блокчэйний нөүдний хаяг тийм
is_testnet Тест орчинд ажиллаж буй бол True утга өгнө үгүй /default=False/

Жишээ

from certify_issuer import issuer
try:
    tx, error = issuer.revoke(
                           src_path='test_result.pdf',
                           address=MY_ADDRESS,
                           revoker_name='Mr. Revoker'
                           private_key=MY_PRIVATE_KEY,
                           certify_address=CERTIFY_CONTRACT_ADDRESS,
                           node_url='https://node.corexchain.io',
                           is_testnet=False)
    if error is not None:
        print("Error: {}", error)
    else
        print("Success: {}", tx)

except Exception as e:
    print("Error: {}", e)

revoke_by_hash

Нэгэнт ухаалаг гэрээнд баталгаажсан хаш утгыг буцаан хүчингүй болгох функц

Параметр Тайлбар Заавал эсэх
hash_str хаш тийм
address Баталгаажуулагчийн блокчэйн хаяг тийм
revoker_name Хүчингүй болгож буй хүний нэр тийм
private_key Баталгаажуулагчийн хувийн түлхүүр үгүй /keystore, passphrase өгөөгүй бол заавал/
keystore Хувийн түлхүүрийн keystore файл үгүй /private_key өгөөгүй бол заавал/
passphrase Хувийн түлхүүрийн passphrase файл үгүй /private_key өгөөгүй бол заавал/
certify_address Ухаалаг гэрээний хаяг тийм
node_url Гүйлгээ хийх блокчэйний нөүдний хаяг тийм
is_testnet Тест орчинд ажиллаж буй бол True утга өгнө үгүй /default=False/

Жишээ

from certify_issuer import issuer
hash_str = some_hash_function(file_or_something)
try:
    tx, error = issuer.revoke_by_hash(
                           hash_str=hash_str,
                           address=MY_ADDRESS,
                           revoker_name='Mr. Revoker'
                           private_key=MY_PRIVATE_KEY,
                           certify_address=CERTIFY_CONTRACT_ADDRESS,
                           node_url='https://node.corexchain.io',
                           is_testnet=False)
    if error is not None:
        print("Error: {}", error)
    else
        print("Success: {}", tx)
except Exception as e:
    print("Error: {}", e)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certify-issuer-0.0.10.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

certify_issuer-0.0.10-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file certify-issuer-0.0.10.tar.gz.

File metadata

  • Download URL: certify-issuer-0.0.10.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.13

File hashes

Hashes for certify-issuer-0.0.10.tar.gz
Algorithm Hash digest
SHA256 6595df597aeefc26ad9087400dd2fcb83fb90650badc9c2d7e548d2c682d97c2
MD5 3596ed902d8b78364c8919a31e893a3e
BLAKE2b-256 ab4c2aa1609119bf2acf5674a7717a9883951c3ece02fc13ba4fdb18f75b18a0

See more details on using hashes here.

File details

Details for the file certify_issuer-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for certify_issuer-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 e857b0a8d5edb1731b133bf0841516cfae7dac22598ef8fa80e2387063898574
MD5 59b5ae6663bb1d79008d6285acd4b510
BLAKE2b-256 25c2a757fd4faea705177abf77569a32d465709856068bf886a41ecec06a50cc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page