ETH Price: $3,362.22 (-0.00%)

Token

Knowledge (KNW)
 

Overview

Max Total Supply

150,000,000 KNW

Holders

3,897

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
18.066 KNW

Value
$0.00
0xBB3D24900039279Dda91d1713a2f30277AdE8F97
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Knowledge.io (KNW) rewards people for learning and sharing their knowledge by answering multiple choice Q&A correctly to develop Knowledge Scores, useful in ad tech, commerce, education, and employment.

ICO Information

ICO Start Date : Feb 12th, 2018  
ICO End Date : Apr 8th, 2018
Hard Cap : 19,000,000 KNW
Token Distribution Date : Apr 15th, 2018
ICO Price  : $ 1
Country : USA

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KnowledgeProxy

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-03-28
*/

pragma solidity ^0.4.18;


/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
contract Proxy {
  function implementation() public view returns (address);

  /**
  * @dev Fallback function allowing to perform a delegatecall to the given implementation.
  * This function will return whatever the implementation call returns
  */
  function () payable public {
    address impl = implementation();
    require(impl != address(0));
    bytes memory data = msg.data;

    assembly {
      let result := delegatecall(gas, impl, add(data, 0x20), mload(data), 0, 0)
      let size := returndatasize

      let ptr := mload(0x40)
      returndatacopy(ptr, 0, size)

      switch result
      case 0 { revert(ptr, size) }
      default { return(ptr, size) }
    }
  }
}


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address[] public owners;

  event OwnerAdded(address indexed authorizer, address indexed newOwner, uint256 index);

  event OwnerRemoved(address indexed authorizer, address indexed oldOwner);

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owners.push(msg.sender);
    OwnerAdded(0x0, msg.sender, 0);
  }

  /**
   * @dev Throws if called by any account other than one owner.
   */
  modifier onlyOwner() {
    bool isOwner = false;

    for (uint256 i = 0; i < owners.length; i++) {
      if (msg.sender == owners[i]) {
        isOwner = true;
        break;
      }
    }

    require(isOwner);
    _;
  }

  /**
   * @dev Allows one of the current owners to add a new owner
   * @param newOwner The address give ownership to.
   */
  function addOwner(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    uint256 i = owners.push(newOwner) - 1;
    OwnerAdded(msg.sender, newOwner, i);
  }

  /**
   * @dev Allows one of the owners to remove other owner
   */
  function removeOwner(uint256 index) onlyOwner public {
    address owner = owners[index];
    owners[index] = owners[owners.length - 1];
    delete owners[owners.length - 1];
    OwnerRemoved(msg.sender, owner);
  }

  function ownersCount() constant public returns (uint256) {
    return owners.length;
  }
}


contract UpgradableStorage is Ownable {

  // Address of the current implementation
  address internal _implementation;

  event NewImplementation(address implementation);

  /**
  * @dev Tells the address of the current implementation
  * @return address of the current implementation
  */
  function implementation() public view returns (address) {
    return _implementation;
  }
}


/**
 * @title Upgradable
 * @dev This contract represents an upgradable contract
 */
contract Upgradable is UpgradableStorage {
  function initialize() public payable { }
}


contract KnowledgeProxy is Proxy, UpgradableStorage {
  /**
  * @dev Upgrades the implementation to the requested version
  */
  function upgradeTo(address imp) onlyOwner public payable {
    _implementation = imp;
    Upgradable(this).initialize.value(msg.value)();

    NewImplementation(imp);
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"imp","type":"address"}],"name":"upgradeTo","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"implementation","type":"address"}],"name":"NewImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authorizer","type":"address"},{"indexed":true,"name":"newOwner","type":"address"},{"indexed":false,"name":"index","type":"uint256"}],"name":"OwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authorizer","type":"address"},{"indexed":true,"name":"oldOwner","type":"address"}],"name":"OwnerRemoved","type":"event"}]

606060405260008054600181016100168382610076565b50600091825260208220018054600160a060020a03191633600160a060020a0316908117909155907fa0b18fca933618876351ba2ef88bf4505c184d3e55064bec0d7fe236dd706d848160405190815260200160405180910390a36100c0565b81548183558181151161009a5760008381526020902061009a91810190830161009f565b505050565b6100bd91905b808211156100b957600081556001016100a5565b5090565b90565b6105f7806100cf6000396000f3006060604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c2781146100f95780633659cfe61461012b5780635c60da1b146101415780636b919488146101545780637065cb481461016a578063b948854614610189575b6000610081610572565b6100896101ae565b9150600160a060020a03821615156100a057600080fd5b6000368080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509050600080825160208401855af43d604051816000823e8280156100f5578282f35b8282fd5b341561010457600080fd5b61010f6004356101be565b604051600160a060020a03909116815260200160405180910390f35b61013f600160a060020a03600435166101e6565b005b341561014c57600080fd5b61010f6101ae565b341561015f57600080fd5b61013f600435610311565b341561017557600080fd5b61013f600160a060020a0360043516610471565b341561019457600080fd5b61019c61056c565b60405190815260200160405180910390f35b600154600160a060020a03165b90565b60008054829081106101cc57fe5b600091825260209091200154600160a060020a0316905081565b6000805b60005481101561023357600080548290811061020257fe5b60009182526020909120015433600160a060020a039081169116141561022b5760019150610233565b6001016101ea565b81151561023f57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091553016638129fc1c346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b15156102ba57600080fd5b6125ee5a03f115156102cb57600080fd5b505050507f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c40983604051600160a060020a03909116815260200160405180910390a1505050565b600080805b60005481101561035f57600080548290811061032e57fe5b60009182526020909120015433600160a060020a0390811691161415610357576001915061035f565b600101610316565b81151561036b57600080fd5b600080548590811061037957fe5b60009182526020822001548154600160a060020a03909116945060001981019081106103a157fe5b60009182526020822001548154600160a060020a039091169190869081106103c557fe5b60009182526020822001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0393909316929092179091558054600019810190811061040b57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600160a060020a038381169033167fe594d081b4382713733fe631966432c9cea5199afb2db5c3c1931f9f9300367960405160405180910390a350505050565b600080805b6000548110156104bf57600080548290811061048e57fe5b60009182526020909120015433600160a060020a03908116911614156104b757600191506104bf565b600101610476565b8115156104cb57600080fd5b600160a060020a03841615156104e057600080fd5b6001600080548060010182816104f69190610584565b6000928352602090922001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388811691821790925592909103945033167fa0b18fca933618876351ba2ef88bf4505c184d3e55064bec0d7fe236dd706d848560405190815260200160405180910390a350505050565b60005490565b60206040519081016040526000815290565b8154818355818115116105a8576000838152602090206105a89181019083016105ad565b505050565b6101bb91905b808211156105c757600081556001016105b3565b50905600a165627a7a7230582018603e2f1c250ed44766eefd909c23a5848624a914afb554396ed97c8970041f0029

Deployed Bytecode

0x6060604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c2781146100f95780633659cfe61461012b5780635c60da1b146101415780636b919488146101545780637065cb481461016a578063b948854614610189575b6000610081610572565b6100896101ae565b9150600160a060020a03821615156100a057600080fd5b6000368080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509050600080825160208401855af43d604051816000823e8280156100f5578282f35b8282fd5b341561010457600080fd5b61010f6004356101be565b604051600160a060020a03909116815260200160405180910390f35b61013f600160a060020a03600435166101e6565b005b341561014c57600080fd5b61010f6101ae565b341561015f57600080fd5b61013f600435610311565b341561017557600080fd5b61013f600160a060020a0360043516610471565b341561019457600080fd5b61019c61056c565b60405190815260200160405180910390f35b600154600160a060020a03165b90565b60008054829081106101cc57fe5b600091825260209091200154600160a060020a0316905081565b6000805b60005481101561023357600080548290811061020257fe5b60009182526020909120015433600160a060020a039081169116141561022b5760019150610233565b6001016101ea565b81151561023f57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03858116919091179091553016638129fc1c346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b15156102ba57600080fd5b6125ee5a03f115156102cb57600080fd5b505050507f6b70829fcbe4891157f7a7496f9870927de3c8237adbe9cd39bae09b7382c40983604051600160a060020a03909116815260200160405180910390a1505050565b600080805b60005481101561035f57600080548290811061032e57fe5b60009182526020909120015433600160a060020a0390811691161415610357576001915061035f565b600101610316565b81151561036b57600080fd5b600080548590811061037957fe5b60009182526020822001548154600160a060020a03909116945060001981019081106103a157fe5b60009182526020822001548154600160a060020a039091169190869081106103c557fe5b60009182526020822001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0393909316929092179091558054600019810190811061040b57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600160a060020a038381169033167fe594d081b4382713733fe631966432c9cea5199afb2db5c3c1931f9f9300367960405160405180910390a350505050565b600080805b6000548110156104bf57600080548290811061048e57fe5b60009182526020909120015433600160a060020a03908116911614156104b757600191506104bf565b600101610476565b8115156104cb57600080fd5b600160a060020a03841615156104e057600080fd5b6001600080548060010182816104f69190610584565b6000928352602090922001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388811691821790925592909103945033167fa0b18fca933618876351ba2ef88bf4505c184d3e55064bec0d7fe236dd706d848560405190815260200160405180910390a350505050565b60005490565b60206040519081016040526000815290565b8154818355818115116105a8576000838152602090206105a89181019083016105ad565b505050565b6101bb91905b808211156105c757600081556001016105b3565b50905600a165627a7a7230582018603e2f1c250ed44766eefd909c23a5848624a914afb554396ed97c8970041f0029

Swarm Source

bzzr://18603e2f1c250ed44766eefd909c23a5848624a914afb554396ed97c8970041f
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.