I want to build a Marketplace where people (seller and buyer) can meet and make a deal. After negotiating the contract, they want to ask our Marketplace to generate, deploy a Smart Contracts based on their terms and conditions.

One notable point here is: how can we design a friendly UI so that users can input their terms and conditions then generate a Smart Contract code (using Solidity) base on user's input, then deploy it onto Blockchain?

I think it's a very common idea but I cannot found the answer anywhere. So please help. Many thanks!

closed as too broad by lungj, carver, eth Sep 8 '17 at 6:07

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • It is a very common idea, but it is not easy. If you have no experience in solidity programming, I'd advise to avoid such a big project for now. Smart contract handle real money, and all of it can be lost if you make any mistake. – Distic Sep 5 '17 at 11:33

There is a large semantic gap between "Terms and conditions" in traditional legalspeak and Solidity code (and even more so, EVM bytecode, which is what is actually executed). These notations operate in different environments (legal system with human lawyers and judges vs decentralized virtual machine) and handle different type of objects (rights and obligations defined in natural language and interpreted by humans vs rules on how records in a distributed ledger are updated). "Translating" any non-trivial legal contract into Solidity is a highly challenging task. In any case, even if you limit the scope to just very narrow subset of legal contracts (i.e., those that handle units of value, which can relatively easily be represented with tokens), the number of subtleties in Solidity and EVM makes auto-generating smart contracts a risky endeavor.

In any case, you should expect parties of the contract to view the generated Solidity and explicitly agree that their intentions are accurately represented by the EVM bytecode generated by the latest Solidity compiler from the given source code (which was in turn generated from the contract description the parties have agreed upon).

Not the answer you're looking for? Browse other questions tagged or ask your own question.