Back to results
US 2020/0372502 A1Published application
System and method for smart contract publishing
AssigneeBlockstack PBC
InventorsAaron Blankstein, Jude Nelson
Life of this patent
Estimating the term…
Abstract
A Turing incomplete smart contracting source code for use in a blockchain network is disclosed that allows for static analysis of a smart contract at the time of publishing.
Claims20
A method of processing smart contracts with a computing device of a decentralized network:
- receiving a smart contract from the decentralized network, the smart contract comprising a set of functions;
- parsing the language to form a parse tree comprising tree nodes, wherein each tree node corresponds to a respective function in the set of functions and a parameter of the respective function;
- accessing a first tree node of the tree nodes;
- determining that a first function associated with the first tree node is a user-defined function applicable within the smart contract;
- determining a runtime and a size of the first function based on a data map defined in the smart contract to be associated with the function, the data map comprising a map name, a key, and a value, the map name uniquely associating the key and the value, and the value having a static maximum size related to the size of the function;
- computing an execution value of the smart contract based on the runtime and the size;
- and
- outputting the execution value such that the execution value is available to a virtual machine prior to executing the smart contract with the virtual machine.
5 more elements
A computing device of a decentralized network comprising:
- a network interface configured to couple the computing device to the decentralized network and receive smart contracts therefrom, each of the received smart contracts comprising a set of functions;
- a hardware processor;
- a non-transitory computer readable storage medium storing program instructions for execution by the hardware processor in order to cause the computing device to:
- receive a smart contract from the decentralized network, the smart contract comprising a set of functions;
- parse the language to form a parse tree comprising tree nodes, wherein each tree node corresponds to a respective function in the set of functions and a parameter of the respective function;
- access a first tree node of the tree nodes;
- determine that a first function associated with the first tree node is a user-defined function applicable within the smart contract;
- determine a runtime and a size of the first function based on a data map defined in the smart contract to be associated with the function, the data map comprising a map name, a key, and a value, the map name uniquely associating the key and the value, and the value having a static maximum size related to the size of the function;
- compute an execution value of the smart contract based on the runtime and the size;
- and
- output the execution value such that the execution value is available to a virtual machine prior to executing the smart contract with the virtual machine.
8 more elements
Dependencies are inferred from the claim text.