ProHoster > blog > Gweinyddiaeth > 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:
Gadewch i ni edrych yn agosach ar sut i ddefnyddio'r pum API hyn.
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.
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.
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.
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.
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.