OpenZeppelin / openzeppelin-contracts

OpenZeppelin Contracts is a library for secure smart contract development.
https://openzeppelin.com/contracts
MIT License
24.71k stars 11.74k forks source link

Better code reuse tools #13

Closed maraoz closed 7 years ago

maraoz commented 7 years ago

Current Solidity code reuse is based on copy-pasting or downloading existing code from other repositories. Mature ecosystems have good code repository management systems such as NodeJS’ npm or Ruby’s gems. An interesting variation in Ethereum is the possibility of reusing code already deployed to the blockchain. Let's build tools that allow to easily link your contracts to deployed libraries.

fonzarely commented 7 years ago

Let's build tools that allow to easily link your contracts to deployed libraries.

do you mean to provide a list of public library deployed ?

maraoz commented 7 years ago

@fonzarely more like an index, and easier tools to link contracts in development to those.

For now Zeppelin is using raw npm, and Truffle Beta's integration with npm, which is not ideal. Moving into the future, we should build better tools, but for now we're OK.

sabr-p commented 7 years ago

from what i understood @maraoz , you propose an npm equivalent, a library of public contracts available in the blockchain, that it? or, npm plays bad with Solidity code? maybe give some details/examples on snags you hit?

maraoz commented 7 years ago

npm is good enough for now. Eventually, we'll want better ways to link contracts to already deployed code sitting in the blockchain. Not required for now though IMO, never hit a big need for it

gnidan commented 7 years ago

Any thought about using the in-development https://github.com/ethpm/epm-spec ?