Skip to content

Commit ee3a99e

Browse files
committed
docs
1 parent 1bc077a commit ee3a99e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ None of the following features in the Solidity programming language are allowed
1818

1919
[Endless discussion](https://discord.gg/DCBD2UKbxc) about what and why Solidity features should or shouldn't be allowed in this library is *encouraged*.
2020

21-
It isn't that any of these features are bad, that isn't the point. It is that we are writing the best software we can, and part of that is using a limited feature set. This is the "less is more" idea or keep it simple, stupid (KISS).
21+
It isn't that any of these features are bad, that isn't the point. It is that we are writing the best software we can, and part of that is using a limited feature set. This is the "less is more" idea or keep it simple stupid (KISS).
2222

2323
If this feature ban breaks your mind, just realize that this smart contract library is different than what you have encountered before -- it has different importances, different design principles and it has different ways of doing things. Open your mind and be willing to look at smart contracts a different way. Let the design section rewrite your brain.
2424

2525
1. ### Inheritance is **banned**.
2626

27-
No contract may inherit any other contract or interface. For example `MyContract is OtherContract` or `MyContract is IMyInterface` etc. is not allowed.
27+
No contract may inherit any other contract or interface. For example `MyContract is OtherContract` or `MyContract is IMyInterface` etc. is not allowed. [Onchain composition is favored over inheritance]("#favor-onchain-composition-over-inheritance").
2828

2929
2. ### No constructor functions
3030

@@ -73,7 +73,7 @@ What we are dealing with:
7373
3. **Smart contracts are shared.** Once deployed, smart contracts can be seen and accessed by anyone.
7474
4. **Smart contracts run on a distributed network.** Once deployed, smart contracts are running within the capabilities and constraints of the Ethereum Virtual Machine (EVM) and the blockchain network it is deployed on.
7575
5. **Smart contracts must be secure.** Once deployed, there can be very serious consequences if there is a bug or security vulnerability in a smart contract.
76-
6. **Smart contracts are written in a specific language** In our case, Compose is written in the Solidity programming language.
76+
6. **Smart contracts are written in a specific language** In our case Compose is written in the Solidity programming language.
7777

7878
If we gather all knowledge about programming and software engineering that has ever existed and will exist, including what you know and what you will soon learn or know, and we evaluate that knowledge as it can best apply specifically to a smart contract library, to create the best smart contract library possible, what do we end up with? Hopefully we end up with what Compose becomes.
7979

0 commit comments

Comments
 (0)