Project

General

Profile

О тесте

Тестовая реализация демонстрирует работу со смарт контрактами, позволяющими:

  • Регистрировать счета с разными Валютами.
  • Совершать операции пополнения счета.
  • Разбиения счета на составные части и последующего объединения.
  • Осуществления переводов между счетами
  • Отображение возможности блокировки счета и последующей невозможности выполнять с ним действий
  • Невозможность осуществления перевода суммы, большей чем есть на счете

Демонстрационная версия, выполнена в виде консольного приложения:

  • запуска приложения: `~ $ java -jar AlfaTestApp-assembly-0.2.jar

Для запуска необходимо

Java SE Development Kit 8u161 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

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

См сборка из исходников

Загрузить готовый файл

Собранный готовый к использованию .jar приложен к этой странице.

Инструкция по установке нод

См. Deploy

Результат теста работы демонстрационного приложения

~ $ java -jar AlfaTestApp-assembly-0.2.jar
-- testing accounts and transfers --
creating new account contract now
new account file created: corr_A_EUR@bank.account.unic, trying to register...
new account is registered: bank
creating new account contract now
new account file created: corr_B_EUR@bank.account.unic, trying to register...
new account is registered: bank
creating new account contract now
new account file created: corr_C_USD@bank.account.unic, trying to register...
new account is registered: bank
creating new account contract now
new account file created: corr_C_USD@bank.account.unic, trying to register...
new account is registered: bank
OK: create blocked account
OK: registered basic asset: Asset(10 EUR [Some(w637IYFQ…)])
OK: balance is updated properly
OK: splitted amount is registered
OK: second part is already registered
OK: parent is no more registered
OK: balance is updated properly
OK: assets joined and registered
OK: old, joined asset is no more valid
OK: transfering to wrong account was rejected: universa.RegistrationException: registration failed: ItemResult<DECLINED 2018-04-11T13:10:07+03:00[Europe/Moscow] (copy) errors: FAILED_CHECK [checkReferencedItems for contract (hashId=hXV59apd…): false]>
OK: transfering to blocked account was rejected: universa.RegistrationException: registration failed: ItemResult<DECLINED 2018-04-11T13:10:07+03:00[Europe/Moscow] (copy) errors: FAILED_CHECK [checkReferencedItems for contract (hashId=PPObbKTK…): false]>
OK: Asset registered to another good account: Asset(10.0 EUR [Some(1QLSlpfq…)])
-- testing overspending and transfers --
OK: registered basic asset: Asset(10 EUR [Some(PTgIorjn…)])
OK: overspending is rejected: universa.RegistrationException: registration failed: ItemResult<DECLINED 2018-04-11T13:10:10+03:00[Europe/Moscow] (copy) errors: FORBIDDEN [state.data] not permitted changes in [amount]: {amount=10, account_origin=zirY0vQGZEEHrqPuPvZO9pcRTgFPUPwAqeWW6np4W7WmyCetZtiEV8xESR+guauMpnUTO6/x3v34S7dXOqu4rEwgQJapWTHD748S+JOzv7pqoPqxGR0fNvCjjBV5BNF2} -> {amount=12, account_origin=zirY0vQGZEEHrqPuPvZO9pcRTgFPUPwAqeWW6np4W7WmyCetZtiEV8xESR+guauMpnUTO6/x3v34S7dXOqu4rEwgQJapWTHD748S+JOzv7pqoPqxGR0fNvCjjBV5BNF2},FORBIDDEN [new[0].state.data] not permitted changes in [amount]: {amount=10, account_origin=zirY0vQGZEEHrqPuPvZO9pcRTgFPUPwAqeWW6np4W7WmyCetZtiEV8xESR+guauMpnUTO6/x3v34S7dXOqu4rEwgQJapWTHD748S+JOzv7pqoPqxGR0fNvCjjBV5BNF2} -> {amount=8, account_origin=zirY0vQGZEEHrqPuPvZO9pcRTgFPUPwAqeWW6np4W7WmyCetZtiEV8xESR+guauMpnUTO6/x3v34S7dXOqu4rEwgQJapWTHD748S+JOzv7pqoPqxGR0fNvCjjBV5BNF2}>
OK: source contract (before overspending) is still approved