ETH Price: $3,078.43 (-0.81%)

Token

NetMind Token (NMT)
 

Overview

Max Total Supply

3,872,093.226362277624534755 NMT

Holders

4,563 ( 0.022%)

Market

Price

$2.12 @ 0.000689 ETH (-5.73%)

Onchain Market Cap

$8,208,837.64

Circulating Supply Market Cap

$88,237,616.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
30.422447464533288101 NMT

Value
$64.50 ( ~0.0209522094012198 Eth) [0.0008%]
0x163004dB03407a61917A26Ae1DC8Ff58058f9941
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

NetMind Power is a decentralized platform aimed at democratizing AI and machine learning computing power by leveraging idle GPUs globally for more accessible and affordable AI development.

Market

Volume (24H):$2,831,834.00
Market Capitalization:$88,237,616.00
Circulating Supply:41,643,544.00 NMT
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x90603662...A95f3dadD
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
NetMindTokenProxy

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: NetMindToken_proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./proxy.sol";

contract NetMindTokenProxy is baseProxy{
       constructor(address impl) {
        _setAdmin(msg.sender);
        _setLogic(impl);
    }
}

File 2 of 2: proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

library StorageSlot {
    struct AddressSlot {
        address value;
    }

    struct BooleanSlot {
        bool value;
    }

    struct Bytes32Slot {
        bytes32 value;
    }

    struct Uint256Slot {
        uint256 value;
    }

    function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {
        assembly {
            r.slot := slot
        }
    }

    function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {
        assembly {
            r.slot := slot
        }
    }


    function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {
        assembly {
            r.slot := slot
        }
    }


    function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {
        assembly {
            r.slot := slot
        }
    }
}

contract Proxy {
    //EIP1967 Impl_solt: keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1
    bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
    //EIP1967 Admin_solt: keccak-256 hash of "eip1967.proxy.admin" subtracted by 1
    bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;
  
    function _setAdmin(address admin_) internal {
        StorageSlot.getAddressSlot(_ADMIN_SLOT).value = admin_;
    }
    
    function _setLogic(address logic_) internal {
        StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = logic_;
    }
    
    function logic() public view returns (address) {
        return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
    }
    
    function admin() public view returns (address) {
       return StorageSlot.getAddressSlot(_ADMIN_SLOT).value;
    }
    
    
    fallback () external payable {
        assembly {
            let impl := sload(_IMPLEMENTATION_SLOT)
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(gas(), impl, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            switch result
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }
    
    receive () external payable virtual {}
}


contract baseProxy is Proxy {
    event Upgraded(address indexed impl);
    event AdminChanged(address preAdmin, address newAdmin);
    
    modifier onlyAmdin(){
        require(msg.sender == admin(), "baseProxy: Caller not admin");
        _;
    }
    
    function changeAdmin(address newAdmin) external onlyAmdin returns(bool) {
        address preAdmin =  admin();
        _setAdmin(newAdmin);
        emit AdminChanged(preAdmin, newAdmin);
        return true;
    } 
    
    function upgrad(address newLogic) external onlyAmdin returns(bool) {
        _setLogic(newLogic);
        emit Upgraded(newLogic);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"impl","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"logic","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLogic","type":"address"}],"name":"upgrad","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561000f575f80fd5b506040516104a63803806104a683398101604081905261002e916100ac565b61003733610068565b61006281807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61008b565b506100d9565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b5f602082840312156100bc575f80fd5b81516001600160a01b03811681146100d2575f80fd5b9392505050565b6103c0806100e65f395ff3fe608060405260043610610042575f3560e01c806331079f6e1461008b5780638f283970146100bf578063d7dfa0dd146100de578063f851a4401461010a57610049565b3661004957005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54365f80375f80365f845af490503d5f803e808015610087573d5ff35b3d5ffd5b348015610096575f80fd5b506100aa6100a536600461035d565b61011e565b60405190151581526020015b60405180910390f35b3480156100ca575f80fd5b506100aa6100d936600461035d565b6101d0565b3480156100e9575f80fd5b506100f2610299565b6040516001600160a01b0390911681526020016100b6565b348015610115575f80fd5b506100f26102cb565b5f6101276102cb565b6001600160a01b0316336001600160a01b03161461018c5760405162461bcd60e51b815260206004820152601b60248201527f6261736550726f78793a2043616c6c6572206e6f742061646d696e000000000060448201526064015b60405180910390fd5b610195826102f2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2506001919050565b5f6101d96102cb565b6001600160a01b0316336001600160a01b0316146102395760405162461bcd60e51b815260206004820152601b60248201527f6261736550726f78793a2043616c6c6572206e6f742061646d696e00000000006044820152606401610183565b5f6102426102cb565b905061024d83610336565b604080516001600160a01b038084168252851660208201527f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a150600192915050565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b546001600160a01b0316919050565b5f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036102bc565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103610315565b5f6020828403121561036d575f80fd5b81356001600160a01b0381168114610383575f80fd5b939250505056fea2646970667358221220660be95e38d8eba70039f5263924ec1e86659ca2bd6e2afb2acc51b57d6f06c664736f6c634300081400330000000000000000000000008f42e892ef1b47ea898236f577c89153f4d71ccb

Deployed Bytecode

0x608060405260043610610042575f3560e01c806331079f6e1461008b5780638f283970146100bf578063d7dfa0dd146100de578063f851a4401461010a57610049565b3661004957005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54365f80375f80365f845af490503d5f803e808015610087573d5ff35b3d5ffd5b348015610096575f80fd5b506100aa6100a536600461035d565b61011e565b60405190151581526020015b60405180910390f35b3480156100ca575f80fd5b506100aa6100d936600461035d565b6101d0565b3480156100e9575f80fd5b506100f2610299565b6040516001600160a01b0390911681526020016100b6565b348015610115575f80fd5b506100f26102cb565b5f6101276102cb565b6001600160a01b0316336001600160a01b03161461018c5760405162461bcd60e51b815260206004820152601b60248201527f6261736550726f78793a2043616c6c6572206e6f742061646d696e000000000060448201526064015b60405180910390fd5b610195826102f2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2506001919050565b5f6101d96102cb565b6001600160a01b0316336001600160a01b0316146102395760405162461bcd60e51b815260206004820152601b60248201527f6261736550726f78793a2043616c6c6572206e6f742061646d696e00000000006044820152606401610183565b5f6102426102cb565b905061024d83610336565b604080516001600160a01b038084168252851660208201527f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a150600192915050565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b546001600160a01b0316919050565b5f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036102bc565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103610315565b5f6020828403121561036d575f80fd5b81356001600160a01b0381168114610383575f80fd5b939250505056fea2646970667358221220660be95e38d8eba70039f5263924ec1e86659ca2bd6e2afb2acc51b57d6f06c664736f6c63430008140033

Deployed Bytecode Sourcemap

80:139:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1947:20:1;1941:27;2000:14;1997:1;1994;1981:34;2090:1;2087;2071:14;2068:1;2062:4;2055:5;2042:50;2028:64;;2126:16;2123:1;2120;2105:38;2163:6;2182:38;;;;2253:16;2250:1;2243:27;2182:38;2201:16;2198:1;2191:27;2825:157;;;;;;;;;;-1:-1:-1;2825:157:1;;;;;:::i;:::-;;:::i;:::-;;;470:14:2;;463:22;445:41;;433:2;418:18;2825:157:1;;;;;;;;2601:213;;;;;;;;;;-1:-1:-1;2601:213:1;;;;;:::i;:::-;;:::i;1602:125::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;661:32:2;;;643:51;;631:2;616:18;1602:125:1;497:203:2;1737:115:1;;;;;;;;;;;;;:::i;2825:157::-;2886:4;2534:7;:5;:7::i;:::-;-1:-1:-1;;;;;2520:21:1;:10;-1:-1:-1;;;;;2520:21:1;;2512:61;;;;-1:-1:-1;;;2512:61:1;;907:2:2;2512:61:1;;;889:21:2;946:2;926:18;;;919:30;985:29;965:18;;;958:57;1032:18;;2512:61:1;;;;;;;;;2902:19:::1;2912:8;2902:9;:19::i;:::-;2936:18;::::0;-1:-1:-1;;;;;2936:18:1;::::1;::::0;::::1;::::0;;;::::1;-1:-1:-1::0;2971:4:1::1;2825:157:::0;;;:::o;2601:213::-;2667:4;2534:7;:5;:7::i;:::-;-1:-1:-1;;;;;2520:21:1;:10;-1:-1:-1;;;;;2520:21:1;;2512:61;;;;-1:-1:-1;;;2512:61:1;;907:2:2;2512:61:1;;;889:21:2;946:2;926:18;;;919:30;985:29;965:18;;;958:57;1032:18;;2512:61:1;705:351:2;2512:61:1;2683:16:::1;2703:7;:5;:7::i;:::-;2683:27;;2720:19;2730:8;2720:9;:19::i;:::-;2754:32;::::0;;-1:-1:-1;;;;;1291:15:2;;;1273:34;;1343:15;;1338:2;1323:18;;1316:43;2754:32:1::1;::::0;1208:18:2;2754:32:1::1;;;;;;;-1:-1:-1::0;2803:4:1::1;::::0;2601:213;-1:-1:-1;;2601:213:1:o;1602:125::-;1640:7;1073:66;1666:48;:54;-1:-1:-1;;;;;1666:54:1;;1602:125;-1:-1:-1;1602:125:1:o;1737:115::-;1775:7;1268:66;1800:39;300:147;1468:124;1579:6;1073:66;1522:48;:63;;-1:-1:-1;;;;;;1522:63:1;-1:-1:-1;;;;;1522:63:1;;;;;;;;;;-1:-1:-1;1468:124:1:o;1343:115::-;1445:6;1268:66;1397:39;300:147;14:286:2;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:2;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:2:o

Swarm Source

ipfs://660be95e38d8eba70039f5263924ec1e86659ca2bd6e2afb2acc51b57d6f06c6
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.