SafeMath: On Solidity 0.4.17 we are able to use the pure modifier instead of constant, because we are neither reading nor modifying the contract state. Ownable: Added explicit public to constructor
LimitedTokenCrowdSale: All of Zeppelin crowdsales models use Mintable Tokens, which does not fit the pattern that Gimmer Token is going to use - which is a fixed cap token, where nobody can mint new tokens after initial distribution. There came the need for a LimitedTokenCrowdsale, which basically acts as a pre-sale exchange: you stablish a price, users can buy the token and stay logged for later withdrawal. LimitedTokenDirectCrowdsale: Inherits from LimitedTokenCrowdSale, but implements functions for direct acquisition of tokens (no withdrawal patterns, so users that send Wei to the contract will receive tokens directly - this is useful for contracts that morph from crowdsales into direct-sale)
Started writing initial unit tests for LimitedTokenCrowdSale
OpenZeppelin is a library for writing secure Smart Contracts on Ethereum.
With OpenZeppelin, you can build distributed applications, protocols and organizations:
- using common contract security patterns (See Onward with Ethereum Smart Contract Security)
- in the Solidity language.
NOTE: New to smart contract development? Check our introductory guide.
OpenZeppelin integrates with Truffle, an Ethereum development environment. Please install Truffle and initialize your project with truffle init
.
npm install -g truffle
mkdir myproject && cd myproject
truffle init
To install the OpenZeppelin library, run:
npm install zeppelin-solidity
# If you are using yarn, add dependency like this -
yarn add zeppelin-solidity
After that, you'll get all the library's contracts in the node_modules/zeppelin-solidity/contracts
folder. You can use the contracts in the library like so:
import 'zeppelin-solidity/contracts/ownership/Ownable.sol';
contract MyContract is Ownable {
...
}
OpenZeppelin is meant to provide secure, tested and community-audited code, but please use common sense when doing anything that deals with real money! We take no responsibility for your implementation decisions and any security problem you might experience.
If you find a security issue, please email [email protected].
Building a distributed application, protocol or organization with OpenZeppelin?
-
Read documentation: http://zeppelin-solidity.readthedocs.io/en/latest/
-
Ask for help and follow progress at: https://slack.openzeppelin.org/
Interested in contributing to OpenZeppelin?
- Framework proposal and roadmap: https://medium.com/zeppelin-blog/zeppelin-framework-proposal-and-development-roadmap-fdfa9a3a32ab#.iain47pak
- Issue tracker: https://github.com/OpenZeppelin/zeppelin-solidity/issues
- Contribution guidelines: https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/CONTRIBUTING.md
- Golem
- Mediachain
- Truffle
- Firstblood
- Rootstock
- Consensys
- DigixGlobal
- Coinfund
- DemocracyEarth
- Signatura
- Ether.camp
- Aragon
- Wings
among others...
Code released under the MIT License.