/hse_corda

Primary LanguageKotlinOtherNOASSERTION

HSE CorDapp

В данной версии проекта реализован флоу для объединения и разделения 2х токенов, обмена между разными типами токенов. Всего 2 типа токенов, обменный коэффициент не изменяется и задан в коде. При выпуске токена можно задать его тип. Для каждой из операций с токеном реализованы проверки, например:

  • объединение доступно только для токенов с одним владельцем и одного типа
  • после каждой операции проверяется, что входное и выходное количество токенов каждого типа совпадают

Также реализован тест для контрактов, взятие комиссии при операции move.

Собрать проект

./gradlew deployNodes

Запустить ноды

./build/nodes/runnodes

Работа в терминале

  • Выпустить токен
flow start TokenIssueFlowInitiator owner: "PartyA", amount: 10, currencyType: RICK
flow start TokenIssueFlowInitiator owner: "PartyB", amount: 10, currencyType: MORTY
  • Проверить токены текущей ноды
run vaultQuery contractStateType: com.exactpro.bootcamp.states.TokenState
  • Разделить токен на 2 части
flow start TokenSplitFlowInitiator transactionId: "41AA642...", outputIndex: 0,  splitRatio: 0.7
  • Объединить 2 токена
flow start TokenJoinFlowInitiator transactionId1: "41AA642...", outputIndex1: 1, transactionId2: "488A83...", outputIndex2: 1
  • Выполнить обмен одного токена на другой
flow start TokenSwapFlowInitiator transactionId1: "A38D2F...", outputIndex1: 0, transactionId2: "E7A9AF...", outputIndex2: 0, needAmount: 3.0

Проект выполнили

Подчезерцев Алексей, Самоделкина Мария, Солодянкин Андрей, 2022