Poraka: he aha te PoC me hanga e tatou?

Kei te mataku o kanohi, kei te patito o ringaringa!

I nga tuhinga o mua, i korerohia e matou nga hangarau i hangaia ai nga poraka (Me aha tatou ki te hanga poraka?) me nga keehi ka taea te whakatinana me o raatau awhina (He aha te take me hanga he keehi?). Kua tae ki te wa ki te mahi me o ringaringa! Hei whakatinana i nga kaiurungi me te PoC (Proof of Concept), he pai ki ahau te whakamahi i nga kapua, na te mea... ka taea te uru mai i nga waahi katoa o te ao, a, i te nuinga o te waa, kaore he take e pau i te wa mo te whakaurunga o te taiao, na te mea He whirihoranga tatūkē. Na, me hanga e tatou tetahi mea ngawari, hei tauira, he whatunga mo te whakawhiti moni i waenga i nga kaiuru me te karanga ma te iti ko Bitcoin. Mo tenei ka whakamahia e matou te kapua IBM me te ao poraka Hyperledger Fabric. Tuatahi, kia mohio tatou he aha i kiia ai a Hyperledger Fabric he poraka mo te ao?

Poraka: he aha te PoC me hanga e tatou?

Hyperledger Fabric - he poraka mo te ao

Ko te tikanga, ko te punaha korero mo te ao ko:

  • He huinga o nga kaitoro me tetahi punaha rorohiko e mahi ana i te arorau pakihi;
  • Nga atanga mo te taunekeneke me te punaha;
  • Nga taputapu mo te rehitatanga, motuhēhēnga me te whakamanatanga o nga taputapu/tangata;
  • Raraunga Raraunga Raraunga Raraunga Mahi me te Puranga:

Poraka: he aha te PoC me hanga e tatou?

Ko te putanga mana o te Hyperledger Fabric ka taea te panui ki pae, me te poto, ko te Hyperledger Fabric he papaa tuwhera e taea ai e koe te hanga poraka motuhake me te whakahaere i nga kirimana maamaa kua tuhia ki roto i nga reo kaupapa JS me Go. Kia ata tirohia te hoahoanga o Hyperledger Fabric me te mohio he punaha mo te ao katoa he mea motuhake mo te penapena me te tuhi raraunga. Ko te mea motuhake ko nga raraunga, pera i roto i nga poraka katoa, kei te rongoa i roto i nga poraka e whakanohoia ana ki runga i te poraka anake mehemea ka tae nga kaiuru ki te whakaaro me muri i te tuhi i nga raraunga kaore e taea te whakatika marie, te whakakore ranei.

Hangahanga papanga Hyperledger

E whakaatu ana te hoahoa i te hoahoanga papanga Hyperledger:

Poraka: he aha te PoC me hanga e tatou?

Ngā whakahaere — kei roto i nga whakahaere nga hoa, i.e. kei te noho poraka na te tautoko a nga whakahaere. Ka taea e nga whakahaere rereke tetahi waahanga o te hongere kotahi.

hongere - he hanganga arorau e whakakotahi ana i nga hoa ki roto i nga roopu, i.e. kua tohua te poraka. Ka taea e Hyperledger Fabric te tukatuka i nga wa kotahi poraka maha me nga whakaaro pakihi rereke.

Kaiwhakarato Ratonga Mema (MSP) he CA (Mana Tiwhikete) mo te whakaputa i te tuakiri me te tuku mahi. Hei waihanga i te node, me mahi koe ki te MSP.

Kopuku hoa — manatokohia nga whakawhitinga, penapena te poraka, mahia nga kirimana atamai me te taunekeneke ki nga tono. He tuakiri to nga hoa (tiwhikete mamati), na te MSP i tuku. Kaore i rite ki te whatunga Bitcoin, Etherium ranei, kei reira nga pona katoa he mana rite, kei roto i te Hyperledger Fabric he rereke nga mahi:

  • Hoa pea hoa tautoko (EP) me te whakahaere kirimana atamai.
  • Te mahi hoa (CP) - tiakina noa nga raraunga i roto i te poraka me te whakahou i te "World state".
  • Punga Hoa (AP) - mena he maha nga whakahaere e uru ana ki te poraka, katahi ka whakamahia nga hoa punga mo te whakawhitiwhiti korero i waenga i a raatau. Me kotahi, neke atu ranei nga hoa punga o ia whakahaere. Ma te whakamahi i te AP, ka taea e tetahi hoa o tetahi whakahaere te tiki korero mo nga hoa katoa o etahi atu whakahaere. Ka whakamahia hei tukutahi korero i waenga i nga AP kawa korero.
  • Kaihautu Hoa — mena he maha nga hoa o tetahi whakahaere, ka riro ko te kaihautu o te hoa anake nga poraka mai i te ratonga Whakatau ka hoatu ki era atu o nga hoa. Ko te kaihautu ka taea te tohu i runga i te ahua, i te kowhiringa hihiri ranei e nga hoa o te whakahaere. Ka whakamahia hoki te kawa kohukohu hei tukutahi korero mo nga kaiarahi.

rawa — nga hinonga e whai uara ana, e rongoa ana ki te poraka. He mea nui ake, he raraunga uara-matua tenei i te whakatakotoranga JSON. Ko tenei raraunga ka tuhia ki te Poraka Poraka. Kei a ratou he hitori, kei te rongoa i roto i te poraka, me te ahua o naianei, kei te rongoa i roto i te "World state" database. Ko nga hanganga raraunga ka whakakiia i runga i nga mahi pakihi. Karekau he mara e hiahiatia ana, ko te kupu anake me whai rangatira nga rawa me te whai taonga.

Ledger — kei roto ko te Poraka me te Puka korero a-motu, e pupuri ana i nga ahuatanga o naianei o nga rawa. Ka whakamahia e te kawanatanga o te ao LevelDB, CouchDB ranei.

Waehe Smart — te whakamahi i nga kirimana atamai, ka whakatinanahia te arorau pakihi o te punaha. I roto i te papanga Hyperledger, ko nga kirimana atamai e kiia ana ko te waehere mekameka. Ma te whakamahi i te mekameka, ka tohua nga rawa me nga tauwhitinga ki runga. I roto i nga tikanga hangarau, ko nga kirimana atamai he raupaparorohiko kua whakatinanahia i roto i nga reo hotaka JS, Go ranei.

Kaupapa here tautoko — mo ia waehere mekameka, ka taea e koe te whakatakoto kaupapa here mo te maha o nga whakapumautanga mo te tauwhitinga me tumanako me ma wai. Ki te kore te kaupapa here i whakaritea, ko te taunoa ko: "me whakau te tauwhitinga e tetahi mema o tetahi whakahaere i roto i te hongere." He tauira kaupapa here:

  • Me whakaae te tauwhitinga e tetahi kaiwhakahaere o te whakahaere;
  • Me whakamana e tetahi mema, kaihoko ranei o te whakahaere;
  • Me whakamana e tetahi whakahaere hoa.

Ratonga ota — ka kohia nga whakawhitinga ki roto i nga poraka ka tukuna atu ki nga hoa o te hongere. Ka whakamanahia te tuku karere ki nga hoa katoa i runga i te whatunga. Ka whakamahia mo nga punaha ahumahi Kafka kaihokohoko karere, mo te whanaketanga me te whakamatautau Solo.

Waearere

Poraka: he aha te PoC me hanga e tatou?

  • Ka whakawhitiwhiti te tono ki te Hyperledger Fabric ma te whakamahi i te Haere, Node.js, Java SDK ranei;
  • Ka hangaia e te kiritaki he tauwhitinga tx ka tukuna atu ki nga hoa tautoko;
  • Ka whakamanahia e te Hoa te hainatanga a te kiritaki, ka whakaoti i te tauwhitinga, ka tukuna ano te hainatanga whakamana ki te kaihoko. Ka mahia te Chaincode ki te hoa tautoko anake, ka tukuna te hua o tana mahi ki nga hoa katoa. Ko tenei algorithm o te mahi ka kiia ko te PBFT (Practical Byzantine Fault Tolerant) te whakaaetanga. He rereke mai i BFT matarohia ko te meka ka tukuna te karere me te whakapumautanga kaore e tumanakohia mai i nga kaiuru katoa, engari mai i tetahi huinga anake;
  • I muri i te whiwhinga o te kiritaki i te maha o nga whakautu e pa ana ki te kaupapa here whakamana, ka tukuna e ia te tauwhitinga ki te ratonga Whakatau;
  • Ka mahia e te ratonga Whakatau he poraka ka tukuna ki nga hoa mahi katoa. Ko te ratonga ota ka whakarite i te tuhi raupapa o nga poraka, ka whakakore i te marau pukapuka e kiia nei (tirohia te waahanga "Forks");
  • Ka whiwhi nga hoa i tetahi poraka, tirohia ano te kaupapa here whakamana, tuhia te poraka ki te poraka ka huri i te ahua i roto i te "World state" DB.

Ko era. Ka puta mai he wehewehenga o nga mahi i waenga i nga pona. Ma tenei ka whakarite kia taea te tauine me te haumaru te poraka:

  • Ko nga kirimana atamai (chaincode) e whakamana ana i nga hoa. Ma tenei ka whakarite te muna o nga kirimana atamai, na te mea ehara i te mea rongoa e nga kaiuru katoa, engari ma nga hoa tautoko anake.
  • Me tere te mahi ota. Ka whakapumautia tenei na te mea ko te Ota ka hanga poraka anake ka tukuna atu ki te huinga o nga hoa rangatira.
  • Ko te tuku i nga hoa ka penapena noa i te poraka - he maha o raatau kaore e hiahiatia he kaha me te mahi tere.

Ko etahi atu korero mo nga otinga hoahoanga o Hyperledger Fabric me te aha e mahi penei ana, kaore e kitea i konei: Te Kaupapa Hangahanga i konei ranei: Te papanga Hyperledger: He punaha whakahaere kua tohatohahia mo nga mekameka poraka kua whakaaetia.

Na, ko Hyperledger Fabric he punaha ao katoa e taea ai e koe:

  • Whakatinana i te arorau pakihi ma te whakamahi i te tikanga kirimana atamai;
  • Tuhia me te whiwhi raraunga mai i te papaaarangi poraka i te whakatakotoranga JSON;
  • Tukuna me te manatoko te urunga API ma te whakamahi Mana Tiwhikete.

Inaianei kua maarama taatau mo nga korero motuhake o te papanga Hyperledger, me mahi tetahi mea whai hua!

Te tuku poraka

Kaupapa raru

Ko te mahi ko te whakatinana i te whatunga Citcoin me nga mahi e whai ake nei: te hanga i tetahi kaute, te whiwhi i te toenga, te tihi ake i to putea, te whakawhiti moni mai i tetahi kaute ki tetahi atu. Me tuhi he tauira ahanoa, ka mahia ano e tatou i roto i te kirimana atamai. Na, ka whiwhi tatou i nga kaute kua tautuhia e nga ingoa, kei roto he toenga, me te rarangi o nga kaute. Ko nga kaute me te rarangi o nga kaute, mo nga rawa Hyperledger Fabric. No reira, he hitori me te ahuatanga o naianei. Ka ngana ahau ki te tuhi marama i tenei:

Poraka: he aha te PoC me hanga e tatou?

Ko nga whika o runga ko te ahua o naianei, kei te rongoa i roto i te paataka raraunga "World state". Kei raro iho ko nga whika e whakaatu ana i te hitori e rongoa ana i roto i te poraka. Ko te ahua o nga rawa o naianei ka whakarerekehia e nga whakawhitinga. Ka huri noa te Rawa i te katoa, na te hua o te tauwhitinga, ka hangaia he ahanoa hou, ka uru te uara o naianei o te rawa ki te hitori.

IBM Kapua

Ka waihangahia e matou he kaute i roto IBM kapua. Hei whakamahi i te turanga poraka, me whakahou ake ki te Utu-As-You-Go. Kaore pea tenei mahi e tere, na te mea... Ka tono a IBM i etahi atu korero me te manatoko a-ringa. I runga i te tuhipoka pai, ka taea e au te kii he pai nga rauemi whakangungu a IBM e taea ai e koe te tuku Hyperledger Fabric i roto i to raatau kapua. I pai ahau ki nga raupapa tuhinga me nga tauira e whai ake nei:

Ko nga whakaahua e whai ake nei o te IBM Blockchain platform. Ehara tenei i te tohutohu mo te hanga poraka, engari he whakaaturanga noa mo te whanuitanga o te mahi. Na, mo o maatau kaupapa, ka hanga e matou tetahi Whakahaere:

Poraka: he aha te PoC me hanga e tatou?

Ka waihangahia e matou he kohanga ki roto: Kaiwhakarite CA, Org1 CA, Kaiwhakarite Hoa:

Poraka: he aha te PoC me hanga e tatou?

Ka hangaia e matou nga kaiwhakamahi:

Poraka: he aha te PoC me hanga e tatou?

Waihangahia he Hongere ka kiia ko te citcoin:

Poraka: he aha te PoC me hanga e tatou?

Ko te mea nui ko te Channel he poraka poraka, no reira ka timata ki te poraka kore (Poraka Genesis):

Poraka: he aha te PoC me hanga e tatou?

Te tuhi i te kirimana atamai

/*
 * Citcoin smart-contract v1.5 for Hyperledger Fabric
 * (c) Alexey Sushkov, 2019
 */
 
'use strict';
 
const { Contract } = require('fabric-contract-api');
const maxAccounts = 5;
 
class CitcoinEvents extends Contract {
 
    async instantiate(ctx) {
        console.info('instantiate');
        let emptyList = [];
        await ctx.stub.putState('accounts', Buffer.from(JSON.stringify(emptyList)));
    }
    // Get all accounts
    async GetAccounts(ctx) {
        // Get account list:
        let accounts = '{}'
        let accountsData = await ctx.stub.getState('accounts');
        if (accountsData) {
            accounts = JSON.parse(accountsData.toString());
        } else {
            throw new Error('accounts not found');
        }
        return accountsData.toString()
    }
     // add a account object to the blockchain state identifited by their name
    async AddAccount(ctx, name, balance) {
        // this is account data:
        let account = {
            name: name,
            balance: Number(balance),       
            type: 'account',
        };
        // create account:
        await ctx.stub.putState(name, Buffer.from(JSON.stringify(account)));
 
        // Add account to list:
        let accountsData = await ctx.stub.getState('accounts');
        if (accountsData) {
            let accounts = JSON.parse(accountsData.toString());
            if (accounts.length < maxAccounts)
            {
                accounts.push(name);
                await ctx.stub.putState('accounts', Buffer.from(JSON.stringify(accounts)));
            } else {
                throw new Error('Max accounts number reached');
            }
        } else {
            throw new Error('accounts not found');
        }
        // return  object
        return JSON.stringify(account);
    }
    // Sends money from Account to Account
    async SendFrom(ctx, fromAccount, toAccount, value) {
        // get Account from
        let fromData = await ctx.stub.getState(fromAccount);
        let from;
        if (fromData) {
            from = JSON.parse(fromData.toString());
            if (from.type !== 'account') {
                throw new Error('wrong from type');
            }   
        } else {
            throw new Error('Accout from not found');
        }
        // get Account to
        let toData = await ctx.stub.getState(toAccount);
        let to;
        if (toData) {
            to = JSON.parse(toData.toString());
            if (to.type !== 'account') {
                throw new Error('wrong to type');
            }  
        } else {
            throw new Error('Accout to not found');
        }
 
        // update the balances
        if ((from.balance - Number(value)) >= 0 ) {
            from.balance -= Number(value);
            to.balance += Number(value);
        } else {
            throw new Error('From Account: not enought balance');          
        }
 
        await ctx.stub.putState(from.name, Buffer.from(JSON.stringify(from)));
        await ctx.stub.putState(to.name, Buffer.from(JSON.stringify(to)));
                 
        // define and set Event
        let Event = {
            type: "SendFrom",
            from: from.name,
            to: to.name,
            balanceFrom: from.balance,
            balanceTo: to.balance,
            value: value
        };
        await ctx.stub.setEvent('SendFrom', Buffer.from(JSON.stringify(Event)));
 
        // return to object
        return JSON.stringify(from);
    }
 
    // get the state from key
    async GetState(ctx, key) {
        let data = await ctx.stub.getState(key);
        let jsonData = JSON.parse(data.toString());
        return JSON.stringify(jsonData);
    }
    // GetBalance   
    async GetBalance(ctx, accountName) {
        let data = await ctx.stub.getState(accountName);
        let jsonData = JSON.parse(data.toString());
        return JSON.stringify(jsonData);
    }
     
    // Refill own balance
    async RefillBalance(ctx, toAccount, value) {
        // get Account to
        let toData = await ctx.stub.getState(toAccount);
        let to;
        if (toData) {
            to = JSON.parse(toData.toString());
            if (to.type !== 'account') {
                throw new Error('wrong to type');
            }  
        } else {
            throw new Error('Accout to not found');
        }
 
        // update the balance
        to.balance += Number(value);
        await ctx.stub.putState(to.name, Buffer.from(JSON.stringify(to)));
                 
        // define and set Event
        let Event = {
            type: "RefillBalance",
            to: to.name,
            balanceTo: to.balance,
            value: value
        };
        await ctx.stub.setEvent('RefillBalance', Buffer.from(JSON.stringify(Event)));
 
        // return to object
        return JSON.stringify(from);
    }
}
module.exports = CitcoinEvents;

Ma te mohio, me maarama nga mea katoa i konei:

  • He maha nga mahi (AddAccount, GetAccounts, SendFrom, GetBalance, RefillBalance) ka karangahia e te kaupapa demo ma te whakamahi i te Hyperledger Fabric API.
  • Ko nga mahi SendFrom me RefillBalance ka whakaputa i nga Takahanga ka whakawhiwhia e te kaupapa demo.
  • Ka karangahia te mahi inamata i te wa ka tiimata te kirimana atamai. Inaa, e kiia ana ehara i te mea kotahi anake, engari i nga wa katoa ka huri te putanga kirimana atamai. Na reira, ko te arawhiti i te rarangi me te rarangi kau he whakaaro kino, na te mea Na, ka huri tatou i te putanga o te kirimana atamai, ka ngaro tatou i te rarangi o naianei. Engari kei te pai, kei te ako noa ahau).
  • Ko nga kaute me te rarangi o nga kaute he hanganga raraunga JSON. Ka whakamahia a JS mo te raweke raraunga.
  • Ka taea e koe te tiki i te uara o naianei o tetahi rawa ma te whakamahi i te waea mahi getState, ka whakahou ma te whakamahi putState.
  • I te wa e hanga ana he Kaute, ka karangahia te mahi AddAccount, he whakataurite mo te maha o nga kaute kei roto i te poraka (maxAccounts = 5). Na kei konei he jamb (kua kite koe?), e arahi ana ki te pikinga mutunga kore o te maha o nga kaute. Me karohia enei hapa)

I muri mai, ka utaina e matou te kirimana atamai ki roto i te Hongere ka whakatauhia:

Poraka: he aha te PoC me hanga e tatou?

Kia titiro tatou ki te tauwhitinga mo te whakauru i te kirimana atamai:

Poraka: he aha te PoC me hanga e tatou?

Kia titiro tatou ki nga korero mo to tatou Channel:

Poraka: he aha te PoC me hanga e tatou?

Ko te mutunga, ka whiwhi tatou i te hoahoa e whai ake nei o te whatunga poraka i roto i te kapua IBM. Ko te hoahoa hoki e whakaatu ana i tetahi kaupapa demo e rere ana i te kapua Amazon i runga i te tūmau mariko (he maha atu mo tera i te waahanga e whai ake nei):

Poraka: he aha te PoC me hanga e tatou?

Te hanga i te GUI mo nga waea Hyperledger Fabric API

He API ta Hyperledger Fabric ka taea te whakamahi ki:

  • Waihanga hongere;
  • Hononga hoa ki te hongere;
  • Te whakaurunga me te whakaurunga o nga kirimana atamai i roto i te hongere;
  • Nga whakawhitinga waea;
  • Tonoa nga korero mo te poraka.

Te whanaketanga tono

I roto i ta maatau kaupapa demo ka whakamahia e matou te API anake ki te karanga i nga whakawhitinga me te tono korero, na te mea Kua oti i a maatau nga toenga e toe ana ma te whakamahi i te kaupapa poraka IBM. Ka tuhia e matou he GUI ma te whakamahi i te puranga hangarau paerewa: Express.js + Vue.js + Node.js. Ka taea e koe te tuhi tuhinga motuhake me pehea te tiimata ki te hanga tono tukutuku hou. I konei ka waiho e ahau he hononga ki te raupapa o nga korero i tino paingia e au: Taupānga Tukutuku Tāpae Katoa ma te whakamahi i te Vue.js & Express.js. Ko te hua ko te tono-kaitono me te atanga kauwhata taunga i roto i te ahua Hoahoa Rauemi a Google. Ko te REST API i waenga i te kiritaki me te tūmau he maha nga waea:

  • HyperledgerDemo/v1/init - arawhiti te poraka;
  • HyperledgerDemo/v1/accounts/list — tiki he rarangi o nga kaute katoa;
  • HyperledgerDemo/v1/account?name=Bob&balance=100 — hanga pūkete Bob;
  • HyperledgerDemo/v1/info?account=Bob — tiki korero mo te putea Bob;
  • HyperledgerDemo/v1/transaction?from=Bob&to=Alice&volume=2 - whakawhiti moni e rua mai i a Bob ki a Alice;
  • HyperledgerDemo/v1/disconnect - kati te hononga ki te poraka.

Whakaahuatanga o te API me nga tauira kei roto pae tukutuku Postman - he kaupapa rongonui mo te whakamatautau HTTP API.

Tono demo i roto i te kapua Amazon

I tukuna e ahau te tono ki Amazon na te mea... Kaore ano a IBM i kaha ki te whakahou i taku kaute me te tuku i ahau ki te hanga i nga kaitoro mariko. Me pehea te taapiri i te here ki te rohe: www.citcoin.info. Ka noho tonu ahau mo te wa poto, ka whakawetohia, na te mea... Ko nga moni reti mo te reti kei te pupuhi, kaore ano nga moni citcoin i tuhia ki runga i te utu hokohoko) Kei te whakauru ahau i nga whakaahua o te demo i roto i te tuhinga kia marama ai te arorau o te mahi. Ka taea e te tono demo:

  • Whakaarahia te poraka;
  • Waihangahia he Kaute (engari inaianei kaore e taea e koe te hanga i tetahi Kaute hou, na te mea kua tae te nuinga o nga kaute kua tohua i roto i te kirimana atamai i roto i te poraka);
  • Whiwhi i te rarangi o nga Kaute;
  • Whakawhitihia nga moni citcoin i waenga i a Alice, Bob me Alex;
  • Whiwhi i nga huihuinga (engari inaianei kaore he huarahi hei whakaatu i nga huihuinga, na mo te ngawari, e kii ana te atanga kaore i te tautokohia nga huihuinga);
  • Nga mahi takiuru.

Tuatahi ka arawhiti tatou i te poraka:

Poraka: he aha te PoC me hanga e tatou?

I muri mai, ka hangahia e taatau putea, kaua e ururua i te waa me te toenga:

Poraka: he aha te PoC me hanga e tatou?

Ka whiwhi matou i te rarangi o nga kaute katoa e waatea ana:

Poraka: he aha te PoC me hanga e tatou?

Ka tohua e matou te kaituku me te kaiwhiwhi, ka whiwhi i a raatau toenga. Mena he rite te kaituku me te kaiwhiwhi, ka whakakiia tana kaute:

Poraka: he aha te PoC me hanga e tatou?

I roto i te rangitaki ka aro turuki matou i te whakahaerenga o nga whakawhitinga:

Poraka: he aha te PoC me hanga e tatou?

Mau, ko te katoa ki te hōtaka demo. Kei raro ka kite koe i ta maatau whakawhitinga i roto i te poraka:

Poraka: he aha te PoC me hanga e tatou?

Me te rarangi whanui o nga whakawhitinga:

Poraka: he aha te PoC me hanga e tatou?

Na tenei, kua oti pai te whakatinanatanga o te PoC ki te hanga i te whatunga Citcoin. He aha atu ano me mahi mo Citcoin kia noho hei whatunga tuuturu mo te whakawhiti moni? He iti rawa:

  • I te wahanga hanga kaute, whakatinanahia te whakatipuranga o te taviri tūmataiti / tūmatanui. Me penapena te taviri tūmataiti ki te kaiwhakamahi pūkete, me penapena te kī tūmatanui ki te poraka.
  • Hangaia he whakawhitinga moni hei whakamahi i te taviri whanui, kaua ko te ingoa, hei tautuhi i te kaiwhakamahi.
  • Whakamuna nga whakawhitinga mai i te kaiwhakamahi ki te tūmau me tana kī tūmataiti.

mutunga

Kua whakatinanahia e matou te whatunga Citcoin me nga mahi e whai ake nei: te taapiri i te kaute, te whiwhi i te toenga, te tihi ake i to putea, te whakawhiti moni mai i tetahi kaute ki tetahi atu. Na, he aha te utu mo te hanga PoC?

  • Me ako koe i te poraka i roto i te whanui me te papanga Hyperledger rawa;
  • Ako ki te whakamahi kapua IBM Amazon ranei;
  • Akohia te reo hötaka JS me etahi angamahi tukutuku;
  • Mena me penapena etahi raraunga kaore i roto i te poraka, engari i roto i te waahanga motuhake, ka ako ki te whakauru, hei tauira, me PostgreSQL;
  • Ko te mea whakamutunga engari ko te iti rawa - kaore e taea e koe te noho ki te ao hou me te kore mohio ki te Linux!)

Ko te tikanga, ehara i te mea putaiao toka, engari me whakapau kaha koe!

He puna kei runga i a GitHub

Ka mau nga puna GitHub. Whakaahuatanga poto mo te putunga:
Putumōhio «tūmau» — Node.js tūmau
Putumōhio «kiritaki» — Kiritaki Node.js
Putumōhio «blockchain"(Ko nga uara tawhā me nga taviri, ko te tikanga, kaore i te mahi, ka hoatu hei tauira anake):

  • kirimana — smart contract source code
  • putea — taviri kaiwhakamahi mo te whakamahi i te Hyperledger Fabric API.
  • *.cds - nga putanga whakahiato o nga kirimana atamai
  • *.json files - tauira o nga konae whirihoranga mo te whakamahi i te Hyperledger Fabric API

Ko te timatanga anake!

Source: will.com

Tāpiri i te kōrero