Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>C2G Oracle ServiceNew to Visual Studio Code? Get it now.
C2G Oracle Service

C2G Oracle Service

dazevichweb

|
29 installs
| (0) | Free
plugin for project deployment oracle_service
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Смарт-контракт «Оракул»

Смарт-контракт «Оракул» выполняет следующие функции: авторизация запросов от сервиса «Оракул»; приём структур данных (в виде справочников 1с: Валюты, Банки, Курсы) передаваемых от сервиса "Оракул"; проверка целостности данных передаваемых сервисом "Оракул"; проверка обновления данных полученных от сервиса "Оракул" и уже хранящихся в блокчейне. В случае наличия обновлений, сохранять обновления в блокчейне. В случае отсутствия обновлений ничего не делать.

Методы смарт-контракта «Оракул»:

AddBanks(ctx contractapi.TransactionContextInterface, banks []*Bank) error — добавление банков в блокчейн.

GetOrgBanks(ctx contractapi.TransactionContextInterface, orgMSP string) ([]*Bank, error) — получения списка банков, добавленных организацией orgMSP.

AddCurrencies(ctx contractapi.TransactionContextInterface, currencies []*Currency) error – добавление валюты в блокчейн.

GetOrgCurrencies(ctx contractapi.TransactionContextInterface, orgMSP string) ([]*Currency, error) — получение списка валют, добавленных организацией.

AddCourses(ctx contractapi.TransactionContextInterface, courses []*Course) error — добавление курсов валют.

GetCurrencyCoursesByDate(ctx contractapi.TransactionContextInterface, orgMSP, currencyCode, date string) ([]*Course, error) — получение курсов валют за определенную дату.

При использовании методов для работы с блокчейн параметр contractapi.TransactionContextInterface передавать не нужно! Предпочтительный формат времени - 2006-01-02T15:04:05

Структуры получаемых данных:

type Currency struct {
    Ref                             string      `json:"Ref"`
    Name                            string      `json:"Name"`
    Number                          string      `json:"Number"`
    MarkingTheDeletion              bool        `json:"MarkingTheDeletion"`
    DownloadedFromTheInternet       bool        `json:"DownloadedFromTheInternet"`
    FullName                        string      `json:"FullName"`
    ExtraCharge                     int         `json:"ExtraCharge"`
    ParametersOftheRegistrationForm string      `json:"ParametersOftheRegistrationForm"`
    RateCalculationFormula          string      `json:"RateCalculationFormula"`
    CourseSettingMethod             string      `json:"CourseSettingMethod"`
    MainCurrencyLink                string      `json:"MainCurrencyLink"`
    Creator                         CreatorInfo `json:"creator"`
}

type Currency struct {
    Ref                             string      `json:"Ref"`
    Name                            string      `json:"Name"`
    Number                          string      `json:"Number"`
    MarkingTheDeletion              bool        `json:"MarkingTheDeletion"`
    DownloadedFromTheInternet       bool        `json:"DownloadedFromTheInternet"`
    FullName                        string      `json:"FullName"`
    ExtraCharge                     int         `json:"ExtraCharge"`
    ParametersOftheRegistrationForm string      `json:"ParametersOftheRegistrationForm"`
    RateCalculationFormula          string      `json:"RateCalculationFormula"`
    CourseSettingMethod             string      `json:"CourseSettingMethod"`
    MainCurrencyLink                string      `json:"MainCurrencyLink"`
    Creator                         CreatorInfo `json:"creator"`
}

type Course struct {
    LastDate     string      `json:"LastDate"`
    CurrencyCode string      `json:"CurrencyCode"`
    Name         string      `json:"Name"`
    Course       float64     `json:"Course"`
    Multiplicity int64       `json:"Multiplicity"`
    Creator      CreatorInfo `json:"creator"`
}

Сборка и тестирование

ВАЖНО! Для того чтобы использовать инструкции ниже необходимо склонировать репозиторию https://github.com/hyperledger/fabric-samples с исходниками и инструментами hyperledger.

Сборка

Сначала требуется установить переменную окружения FABRIC_CFG_PATH. Она указывает на конфигурационные файлы гиперледжера которые находятся по пути <path to fabric-samples sources>/config далее требуется запустить команду ./scripts/build.sh из корневой папки проекта

Тестирование

Запустить команду ./run_tests.sh

В блоке chaincodeEnvs файла run_tests.sh следует переопределить значения переменных CHAINCODE_NAME и CHAINCODE_PATH если они отличаются от установленных

ВАЖНО! советуется скопировать файл run_tests.sh в папку fabric-samples/test-network

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft