Sut i ysgrifennu contract smart yn Python ar y rhwydwaith Ontoleg. Rhan 2: API Storio

Sut i ysgrifennu contract smart yn Python ar y rhwydwaith Ontoleg. Rhan 2: API Storio

Dyma'r ail ran mewn cyfres o erthyglau addysgol ar greu contractau smart yn Python ar rwydwaith blockchain Ontology. Yn yr erthygl flaenorol daethom i adnabod Blockchain & Block API Contract smart Ontoleg.

Heddiw byddwn yn trafod sut i ddefnyddio'r ail fodiwlβ€” API Storio. Mae gan yr API Storio bum API cysylltiedig sy'n caniatΓ‘u ychwanegu, dileu, a newidiadau i storio parhaus mewn contractau smart ar y blockchain.

Isod mae disgrifiad byr o'r pum API hyn:

Sut i ysgrifennu contract smart yn Python ar y rhwydwaith Ontoleg. Rhan 2: API Storio

Gadewch i ni edrych yn agosach ar sut i ddefnyddio'r pum API hyn.

0. Gadewch i ni greu contract newydd SmartX

1. Sut i ddefnyddio'r API Storio

GetContext & GetReadOnlyContext

GetContext ΠΈ GetReadOnlyCyd-destun cael y cyd-destun y mae'r contract smart cyfredol yn cael ei weithredu ynddo. Gwerth dychwelyd yw gwrthdro'r hash contract smart cyfredol. Fel mae'r enw'n awgrymu, GetReadOnlyCyd-destun yn cymryd y cyd-destun darllen yn unig. Yn yr enghraifft isod, y gwerth dychwelyd yw gwrthdro hash y contract a ddangosir yn y gornel dde uchaf.

Sut i ysgrifennu contract smart yn Python ar y rhwydwaith Ontoleg. Rhan 2: API Storio

rhoi

Swyddogaeth rhoi yn gyfrifol am storio data ar y blockchain ar ffurf geiriadur. Fel y dangosir, rhoi yn cymryd tri pharamedr. GetContext yn cymryd cyd-destun y contract smart sy'n rhedeg ar hyn o bryd, yr allwedd yw gwerth yr allwedd sydd ei angen i arbed y data, a gwerth yw gwerth y data y mae angen ei arbed. Sylwch, os yw gwerth yr allwedd eisoes yn y storfa, bydd y swyddogaeth yn diweddaru ei werth cyfatebol.

Sut i ysgrifennu contract smart yn Python ar y rhwydwaith Ontoleg. Rhan 2: API Storiohashrate-and-shares.ru/images/obzorontology/python/functionput.png

Cael

Swyddogaeth Cael yn gyfrifol am ddarllen y data yn y blockchain cyfredol trwy'r gwerth allweddol. Yn yr enghraifft isod, gallwch chi lenwi'r gwerth allweddol yn y panel opsiynau ar y dde i gyflawni'r swyddogaeth a darllen y data sy'n cyfateb i'r gwerth allweddol yn y blockchain.

Sut i ysgrifennu contract smart yn Python ar y rhwydwaith Ontoleg. Rhan 2: API Storio

Dileu

Swyddogaeth Dileu yn gyfrifol am ddileu data yn y blockchain trwy'r gwerth allweddol. Yn yr enghraifft isod, gallwch chi lenwi'r gwerth allweddol ar gyfer y swyddogaeth yn y panel opsiynau ar y dde a dileu'r data sy'n cyfateb i'r gwerth allweddol yn y blockchain.

Sut i ysgrifennu contract smart yn Python ar y rhwydwaith Ontoleg. Rhan 2: API Storio

2. enghraifft storio cod API

Mae'r cod isod yn rhoi enghraifft fanwl o'r defnydd o bum API: GetContext, Get, Put, Delete a GetReadOnlyContext. Gallwch geisio rhedeg y data API i mewn SmartX.

from ontology.interop.System.Storage import GetContext, Get, Put, Delete, GetReadOnlyContext
from ontology.interop.System.Runtime import Notify

def Main(operation,args):
    if operation == 'get_sc':
        return get_sc()
    if operation == 'get_read_only_sc':
        return get_read_only_sc()
    if operation == 'get_data':
        key=args[0]
        return get_data(key)
    if operation == 'save_data':
        key=args[0]
        value=args[1]
        return save_data(key, value)
    if operation == 'delete_data':
        key=args[0]
        return delete_data(key)
    return False

def get_sc():
    return GetContext()
    
def get_read_only_sc():
    return GetReadOnlyContext()

def get_data(key):
    sc=GetContext() 
    data=Get(sc,key)
    return data
    
def save_data(key, value):
    sc=GetContext() 
    Put(sc,key,value)
    
def delete_data(key):
    sc=GetContext() 
    Delete(sc,key)

Afterword

Storio blockchain yw craidd y system blockchain gyfan. Mae'r API Storio Ontology yn hawdd i'w ddefnyddio ac yn gyfeillgar i ddatblygwyr.

Ar y llaw arall, storio yw ffocws ymosodiadau haciwr, megis y bygythiad diogelwch y soniasom amdano yn un o'r erthyglau blaenorolβ€” ymosodiad chwistrellu storioMae'n ofynnol i ddatblygwyr roi sylw arbennig i ddiogelwch wrth ysgrifennu cod sy'n ymwneud Γ’ storio. Gallwch ddod o hyd i'r canllaw cyflawn ar ein GitHub yma.

Yn yr erthygl nesaf byddwn yn trafod sut i ddefnyddio Runtime API.

Cyfieithwyd yr erthygl gan olygyddion Hashrate&Shares yn arbennig ar gyfer OntologyRussia. crio

Ydych chi'n ddatblygwr? Ymunwch Γ’'n cymuned dechnoleg yn Discord. Hefyd, cymerwch olwg ar Canolfan Datblygwyr Ontoleg am fwy o offer, dogfennaeth, a mwy.

Tasgau agored i ddatblygwyr. Caewch y dasg - cael gwobr.

Ymgeisiwch ar gyfer y rhaglen dalent Ontoleg i fyfyrwyr

Ontoleg

Gwefan Ontoleg - GitHub - Discord - Telegram Rwsieg - Twitter - reddit

Ffynhonnell: hab.com

Ychwanegu sylw