Smart contract applications on the blockchain can only reach their full potential if they integrate seamlessly with traditional software systems via a programmatic interface. This interface should provide for originating and invoking contracts as well as observing the state of the blockchain. We propose a typed API for this purpose and establish some properties of the combined system. Specifically, we provide an execution model that enables us to prove type-safe interaction between programs and the blockchain. We establish further properties of the model that give rise to requirements on the API. A prototype of the interface is implemented in OCaml for the Tezos blockchain.
翻译:块链上的智能合同应用程序只有通过程序接口与传统软件系统无缝地结合,才能充分发挥其潜力。 这个界面应提供原始合同和援引合同,并观察块链的状况。 我们为此建议输入API, 并确立合并系统的某些特性。 具体地说, 我们提供一个执行模型, 使我们能够证明程序与块链之间在类型安全上的互动。 我们为模型建立了进一步特性, 从而导致对 API 的要求。 界面的原型是在 OCaml 中为 Tezos 块链执行的 。