Autentica is a technology company focused on enabling creators around the world to present, sell and authenticate their artwork. With the help of our technology, artists and digital creators can authenticate their artwork without exposing themselves to fraudulent use or duplicates.
Check us out at autentica.io
This repository contains the source code of the smart contracts used by Autentica.
Network | Address |
---|---|
Ethereum | 0x214fEebda3AE6Bb842Bd17D91A0f346eeBcD7898 |
Ethereum (Rinkeby) | 0x51536429019ec9485bA05eeF591BCA521170fF2f |
Network | Address |
---|---|
Ethereum | 0x48a868dD45151800e306e83234c0EeF55E5BC624 |
Binance Smart Chain | 0xf262a3b2a6973db844b6c82187d917e3b7a89170 |
Ethereum (Rinkeby) | 0x7E7821ef6C1D635f4E7f9Bc0964207CB0F10F45f |
Binance Smart Chain (testnet) | 0x289a01be6A52B664D1C2EDEBB19F6C6419fb8229 |
Network | Address |
---|---|
Ethereum | 0xc731d111023b11EB39606B672Be35f20C6D88Af1 |
Binance Smart Chain | 0x1a224a1a77f76aac623571408c45789a173314c8 |
Ethereum (Rinkeby) | 0x12774EAd954F19DDe4142462C22E05F19452d320 |
Binance Smart Chain (testnet) | 0x621866d04C82Fbec31b1C67c5E4FAa904584CaFC |
To begin, let us make sure that you have the required packages installed.
npm install
Create a .env
file in root directory and put your environment variables. For example:
MNEMONIC="..."
OPERATOR_ADDRESS=0x0000000000000000000000000000000000000000
AUTENTICA_WALLET=0x0000000000000000000000000000000000000000
ETHERSCAN_API_KEY=YOUR_API_KEY
BSCSCAN_API_KEY=YOUR_API_KEY
INFURA_API_KEY=YOUR_API_KEY
COINMARKETCAP_API_KEY=YOUR_API_KEY
Although the smart contracts are intended to be used exclusively by Autentica products, one of which is Autentica Market, you can also interact with most of them using a Web3 framework.
If you need to interact with them, you can use the already deployed versions of the smart contracts from Ethereum and Binance Smart Chain blockchains. The smart contract addresses can be found in the Deployments
section above.
Compiling the smart contracts can be done by using the Truffle compile
command:
npx truffle compile
Testing the smart contracts can be done by using the Truffle test
command:
npx truffle test
This project has over 200 test cases, and because of that the testing process is quite slow on the Truffle test
network, so it is recommended to use a Ganache network instead. To start a Ganache network, you can just run the npm run ganache
command and then start the test process on this local
network like this npx truffle test --network local
.
Generating the code coverage report can be done by running
npx truffle run coverage
After the report is generated, you should open the coverage/index.html
to view the detailed information.
Deploying the smart contract can be done by running
npx truffle deploy --network networkName
where networkName
is the name of the network you want to deploy the smart contract to.
Please check the truffle-config.js
file to see the list of available networks.
To verify the smart contracts on Etherscan or BSCScan you can use the npx truffle run verify
command like this:
npx truffle run verify Autentica AutenticaERC721 NFTMarketplace --network networkName [--debug]
where networkName
is the name of the network you want to deploy the smart contract to.
Please check the truffle-config.js
file to see the list of available networks.
More information about the smart contracts can be found in the Wiki section.
For security concerns, please email [email protected].