Welcome to the Raptor Version of ERC-3643 🦖! This project is a respectful nod to the T-Rex (ERC-3643) standard, developed by @TokenySolutions.
I had the privilege of contributing to the original ERC-3643. Inspired by that work, I've created a simpler version. This isn't about competition with T-Rex, it's about sharing knowledge and making it easier for everyone to understand this great piece of technology. 🧩
It's my personal take on the ERC-3643 (T-Rex) and it's made for learning purposes.
⚠️ 🛑 This ERC-3643-Raptor project is not audited and not meant for production use. If you want to implement ERC-3643 in real-world, I strongly recommend getting in touch with @TokenySolutions.
A Raptor is a smaller dinosaur, like this project. I've tried to make this version of the T-Rex standard lighter and easier to understand. RAPTOR stands for Regulated Asset Platform for Tokenized Operations & Resources
Raptor is a simplified take on the T-Rex standard. It's stripped back to make it easier to understand. Some functions have been removed or optimized to make things clearer.
-
No Proxy Implementation: The proxy contract included in the original T-Rex standard has been removed in Raptor. The proxy contract is typically used for upgradability, but it can add complexity, especially for those new to smart contract development.
-
No DVD (Delivery Versus Delivery)
-
Reduced Compliance Features: While T-REX includes a detailed compliance layer for regulated tokens, Raptor has simplified these mechanisms. This change was made to focus on core functionalities and improve understandability.
-
Streamlined Functionality: Some features from the original T-Rex, such as setName, setSymbol, and setDecimals functions, have been removed in Raptor to align more closely with the standard ERC20 token where these properties are typically immutable.
-
Role Management Update: Role management in Raptor now uses OpenZeppelin's AccessControl instead of AgentRole, making it easier to manage access rights.
-
Simplified Pausable Mechanism: The custom Pausable mechanism in the T-Rex has been replaced with OpenZeppelin's Pausable in Raptor. This update provides better compatibility with other contracts and libraries.
-
Batch Transfer Feature: Raptor includes a batchTransferFrom function, making it possible to make multiple transfers in a single transaction, potentially saving on gas costs.
-
Updated Documentation: The inline documentation has been expanded and updated in Raptor, making it easier for developers to understand the contract's functionalities.
These changes are not an attempt to improve or critique the T-Rex standard. They were made to provide a simplified, more accessible version of the ERC-3643 standard for educational purposes. If you're interested in a comprehensive and production-ready implementation, I recommend exploring the original T-Rex standard by @TokenySolutions.
For a detailed look at the changes, check out the project's Change Log
- Navigate to the root project directory
- Ensure Hardhat is installed in the local project directory >>
npm install --save-dev hardhat
- Run a local Hardhat node (If wanting to deploy locally) >>
npx hardhat node
- Deploy ERC-3643 Raptor to your local node >>
npx hardhat run --network localhost scripts/deploy.js
- The deployment script will run and the ERC-3643 Raptor contracts will be deployed
Many thanks to my former colleagues at @TokenySolutions for their exceptional work in developing the original T-Rex standard. My Raptor project is a personal endeavor, a way for me to revisit this impressive work, simplify it, and make it easier to understand.
ERC3643, ERC-3643, Security tokens, regulated tokens, T-Rex Standard, Raptor
Raptor is my personal, educational take on the T-Rex (ERC-3643) standard. It's here to help make the world of security tokens more accessible. Take a look, learn something, and remember to get in touch with @TokenySolutions if you want to use the ERC-3643 in production.