Open bmiller59 opened 5 years ago
Hello @bmiller59! This github repo is indeed deprecated in favor of the zos monorepo, which is managed by lerna and contains the cli repo (formerly zos-cli
), the docs repo (formerly zos-docs
) and the lib repo (formerly zos-lib
, i.e., this deprecated repo). This means that these three github repositories have been deprecated because their content is now inside the monorepo. Neither the documentation nor the npm package are deprecated though, as the docsite doesn't refer to this repository but to the npm packages that point to each lerna package.
That being said, It's safe to run npm install zos-lib
to use the programmatic library and its contracts :slightly_smiling_face:
Please, let us know if you have any other doubts!
Thank you for the clarification. Could you also explain the intention of zos-lib vs openzeppelin-eth? When would someone want one vs the other since there are some contracts that overlap between them. I have a guess but it would be good to get it from the source. :)
Sure! On the one hand, zos-lib
is the zeppelinOS' programmatic library , which you can use to create and upgrade your contract instances, as well as publish your own EVM packages using javascript
/typescript
. You can take a look to an example of how to use it here.
On the other hand, openzeppelin-eth
is the EVM package implementation of openzeppelin-solidity
, It's a fork of the latter, mantained by the same team, and with minor modifications implemented in some contracts to make them upgreadeable and thus usable with zeppelinOS
. You can take a look at this post and this other post for further information.
This repo states that it is deprecated in favor of the zos monorepo, but current zeppelinos documentation still references it (e.g. https://docs.zeppelinos.org/docs/deploying.html). Can you clarify its deprecation status and how to correctly include contracts that used to be referenced through zos-lib?
If the npm package by the same name zos-lib is still to be used and the correct way to import contracts, I think that distinction is worth making in your README for this repo.
Since the contracts are in the zos monorepo already, it seems wasteful and possibly prone to version conflicts to include both zos and zos-lib in package.json.
I also think it is worth clarifying the relationship between zos-lib and openzeppelin-eth and when and where one should be used vs the other.
Thank you.