Certify4py нь цахим сертификат, дипломыг блокчэйн дээр баталгаажуулж өгөх https://github.com/teo-mn/certify-sc ухаалаг гэрээтэй харьцдаг python хэлний сан юм. Уг ухаалаг гэрээ нь ИДС-ын дипломыг блокчэйнд баталгаажуулах стандарт бөгөөд дэлгэрэнгүйг дээрх линкээс харна уу.
Ингэхдээ https://chainpoint.org/ ийн v2.0 стандартыг ашигласан.
-
Тестнет -тэй холбогдох нөүд:
https://node-testnet.corexchain.io -
Теснет дээрх ухаалаг гэрээний хаяг:
0xc0668aC1BE4393F9dA6c8eB81a24faA4F9B04Edb -
Майннет -тэй холбогдох нөүд:
https://node.corexchain.io -
Майннет дээрх ухаалаг гэрээний хаяг:
0xD882B76106d0Ba1a54DE30d620dC5c2892Ae1677
pip install certify4py
PDF файлын хаш утгыг тооцож ухаалаг гэрээнд бичээд, гүйлгээний мэдээлэл болон нэмэлт мэдээллүүдийг файлын мэтадата дээр нэмэн шинэ файлд хадгална.
Байгуулагчийн параметр:
| Параметр | Тайлбар | Заавал эсэх |
|---|---|---|
certify_contract_address |
Ухаалаг гэрээний хаяг | тийм |
node_host |
Гүйлгээ хийх блокчэйний нөүдний хаяг | тийм |
issuer_address |
Баталгаажуулагчийн хаяг | тийм |
issuer_name |
Баталгаажуулагчийн нэр | тийм |
chain_id |
Баталгаажуулагчийн нэр (default=1104) | үгүй |
hash_type |
Хашийн төрөл (default=sha256) | үгүй |
issue_pdf функцийн параметр:
| Параметр | Тайлбар | Заавал эсэх |
|---|---|---|
id |
Файлын ID | тийм |
source_file_path |
PDF эх файлын зам | тийм |
destination_file_path |
Мэтадата бичсэн PDF-ийг хадгалах зам | тийм |
meta_data |
Дипломын тухай мэдээлэл | тийм |
expire_date |
Дуусах хугацаа | үгүй |
desc |
Тайлбар, нэмэлт мэдээлэл | үгүй |
additional_info |
Мэтадата дээр орох нэмэлт мэдээлэл | үгүй |
private_key |
Баталгаажуулагчийн хувийн түлхүүр | үгүй /key_store, passphrase өгөөгүй бол заавал/ |
key_store |
Хувийн түлхүүрийн keystore файл | үгүй /private_key өгөөгүй бол заавал/ |
passphrase |
Хувийн түлхүүрийн passphrase файл | үгүй /private_key өгөөгүй бол заавал/ |
from certify4py.UniversityDiplomaIssuer import UniversityDiplomaIssuer
issuer = UniversityDiplomaIssuer(certify_contract_address,
node_host,
issuer_address,
issuer_name,
chain_id=3305)
try:
txid, error = issuer.issue_pdf(
id,
source_file_path,
destination_file_path,
expire_date,
desc,
additional_info,
private_key,
key_store,
passphrase)
if error is not None:
print("Error: {}", error)
else
print("Success: {}", txid)
except Exception as e:
print("Error: {}", e)Блочкэйн дээр хадгалагдсан PDF файлийг шалгах.
Байгуулагчийн параметр:
| Параметр | Тайлбар | Заавал эсэх |
|---|---|---|
certify_contract_address |
Ухаалаг гэрээний хаяг | тийм |
node_host |
Гүйлгээ хийх блокчэйний нөүдний хаяг | тийм |
UniversityDiplomaIssuer.verify_pdf функцийн параметр:
| Параметр | Тайлбар | Заавал эсэх |
|---|---|---|
file_path |
Метадата -тай файлын зам | тийм |
from certify4py.UniversityDiplomaIssuer import UniversityDiplomaIssuer
issuer = UniversityDiplomaIssuer(certify_contract_address,
teo_node_url,
chain_id=3305)
try:
result = issuer.verify_pdf(file_path)
print("Result: {}", result)
except Exception as e:
print("Error: {}", e)Нэгэнт ухаалаг гэрээнд баталгаажсан PDF файлыг буцаан хүчингүй болгох функц
Байгуулагчийн параметр:
| Параметр | Тайлбар | Заавал эсэх |
|---|---|---|
certify_contract_address |
Ухаалаг гэрээний хаяг | тийм |
node_host |
Гүйлгээ хийх блокчэйний нөүдний хаяг | тийм |
issuer_address |
Баталгаажуулагчийн хаяг | тийм |
issuer_name |
Баталгаажуулагчийн нэр | үгүй |
chain_id |
Баталгаажуулагчийн нэр | үгүй |
hash_type |
Хашийн төрөл | үгүй |
revoke функцийн параметр:
| Параметр | Тайлбар | Заавал эсэх |
|---|---|---|
file_path |
Мэтадата бичигдсэн PDF файлын зам | тийм |
revoker_name |
Хүчингүй болгож буй хүний нэр | тийм |
private_key |
Баталгаажуулагчийн хувийн түлхүүр | үгүй /key_store, passphrase өгөөгүй бол заавал/ |
key_store |
Хувийн түлхүүрийн key_store файл | үгүй /private_key өгөөгүй бол заавал/ |
passphrase |
Хувийн түлхүүрийн passphrase файл | үгүй /private_key өгөөгүй бол заавал/ |
from certify4py.UniversityDiplomaIssuer import PdfIssuer
issuer = PdfIssuer(certify_contract_address,
node_host,
issuer_address,
issuer_name,
chain_id=3305)
try:
txid, error = issuer.revoke(file_path,
revoker_name,
key_store,
passphrase)
print("Txid: {}", txid)
except Exception as e:
print("Error: {}", e) HEMIS системтэй тухайн их сургууль API эрх авч холболт хийх ба төгсөгчийн РД ээр тухайн төгсөгч төгсөх болзол хангасан эсэхийг лавлах ба дараах бүтэцтэй хариу ирнэ.
{
"CONFER_YEAR_NAME": "2022-2023 хичээлийн жил",
"DEGREE_NUMBER": "{certId}",
"EDUCATION_FIELD_CODE": "051202",
"EDUCATION_FIELD_NAME": "Тест",
"EDUCATION_LEVEL_NAME": "бакалаврын боловсрол",
"FIRST_NAME": "Тест",
"INSTITUTION_ID": 1,
"INSTITUTION_NAME": "Тест Их Сургууль",
"LAST_NAME": "Тест",
"PRIMARY_IDENTIFIER_NUMBER": "aa99887766",
"TOTAL_GPA": 4
}Уг өгөгдлийг pdf_issue функцийн meta_data параметерт дамжуулна.