SMCL 是 TOIChain 的智能合约语言。图灵完备性是一种语言设计目标,旨在支持语言中表达的所有可能的计算,包括循环。但是,对于任何区块链网络上的智能合约,每个交易过程都需要网络资源进行验证。具有无限循环的合约是不可接受的,因为它们将产生无限的成本,从而耗尽网络资源。SMCL 有意不具备图灵完备性。每个合约都是独立的。但是,它被设计为可扩展以用于未来的新用例。我们选择 Python 作为主机语言,以便于创建合约。TOIChain Python 库有一个将智能合约转换为 Haskell 语言的选项。在生成要在 TOIChain 上执行的字节码之前,可以使用 Coq(软件基础)或类似工具验证 Haskell 程序的正确性。图灵不完备性可以防止不必要的黑客攻击。
主要关键词