Составление договора с включенным - PullRequest
0 голосов
/ 11 марта 2020

В настоящее время я пытаюсь скомпилировать контракт (на языке Sophia aeternity) с включением пользовательской библиотеки «Library.aes», которая находится в отдельном файле на том же уровне файловой системы, что и контракт на использование.

Библиотека выглядит так:

namespace Library = type number = int function inc(x : number) : number = x + 1

В контракте используется такой код

include "Library.aes"

Когда я компилирую (локально используя узел компилятора) контракт, я всегда получаю

"Couldn't find include file 'Library.aes'\n"

также пытался передать полный путь к включаемому, тот же результат.

Есть ли необходимость как-то определять атрибут options.file_system?

Заранее спасибо за ваша помощь!

1 Ответ

0 голосов
/ 23 марта 2020

давайте использовать тот же пример:

~/Quviq/Aeternity/aesophia_http [git:master]: FOO="include \\\"Bar.aes\\\"\\n\\ncontract Foo =\\n  entrypoint foo() = Bar.bar()"
~/Quviq/Aeternity/aesophia_http [git:master]: BAR="namespace Bar =\\n  function bar() = 42"
~/Quviq/Aeternity/aesophia_http [git:master]: curl -H "Content-Type: application/json" -d "{\"code\":\"$FOO\",\"options\":{\"backend\":\"fate\",\"file_system\":{\"Bar.aes\":\"$BAR\"}}}" -X POST http://localhost:3080/compile
{"bytecode":"cb_+IJGA6AANCB3UsSiP2HGHRML0dG95vNT9JsqZQMjPYAfEG1w6cC4Va3+RNZEHwA3ADcAGg6CPwEDP/5sbA2iAjcABwEDVP64/p9/ADcABwQDEWxsDaKjLwMRRNZEHxFpbml0EWxsDaIhLkJhci5iYXIRuP6ffw1mb2+CLwCFNC4yLjAAfreb3w=="}

Остерегайтесь цитирования строк, но, кроме того, оно довольно простое.

...