Contract 0x646Cec6ee42d258336165cBbD5deB4AF14F0f476

 

Contract Overview

SolarDAOToken
Balance:
0 Ether

EtherValue:
$0

Token:
TxHash Block Age From To Value [TxFee]
0xb78a528baca82d1917ca4b5f658f178369562c3a59e57404f928ff895d27189173628586 days 16 hrs ago0x6a339323f358733e6c689e66ae531b871c93d66d IN  SolarDAOToken0 Ether0.00109625
0xc7939ea0e45dcaf68d1a3b7dd9f36eddb9682ce56916470752d2c53e3a8c25b773622406 days 19 hrs ago0x14ec194d0793d29bf3dccddb5642639032cf4f57 IN  SolarDAOToken0 Ether0.000036925
0x359bf619938ae27dccc4714ddbff86a0c45e72b6aa0e74a4e4e2bb85f56afd85730316616 days 2 mins ago0x1689c572ea9254f4ff7620472be26d44275915f6 IN  SolarDAOToken0 Ether0.000295912
0x1a37bc3c192643b7a6819f5c84f53bd4a1d7bd9e423090241339bbdcad9d35ab720266838 days 7 mins ago0xa84e620931872f039ec16a060d497b2d48d6d1e0 IN  SolarDAOToken0 Ether0.0007385
0xa856562c0c1e32819c055631faa63a51f8b3bba35c46dd144013f9af10d921c7711670455 days 11 hrs ago0x908936183d235e1980985d78eeb59363623aad7b IN  SolarDAOToken0 Ether0.000733104
0x5818caa04c8beb4eeaf67c54282834f953439b3f6f24da8e6d4ab731a62ccf8c711229556 days 8 hrs ago0xe00a9d3ff9be9855eb47a4849d45fcc8afd227bc IN  SolarDAOToken0 Ether0.00109625
0xcef6da758a75764e5c62d89e91598d4205a82e4f31a423ec7c72a82940cc6ded711144156 days 12 hrs ago0xaab5f4dcad2b9b49ebeb3be8522839b53dff599a IN  SolarDAOToken0 Ether0.00184625
0xbf79e0faeda19c68f7ae01f8ddf504b293f36deec076a84a7dde7655e41af553711130056 days 13 hrs ago0x908936183d235e1980985d78eeb59363623aad7b IN  SolarDAOToken0 Ether0.002128925
0xe95634e8182504ead407d7611eebe87734f1a3b5a4d15c7d482015cdd81292c7711089356 days 15 hrs ago0xe2baf57ab878bf7e8fee7af190bcd75432bc7399 IN  SolarDAOToken0 Ether0.000412371
0xd7c407e672b25308a8a737fe57ddd25f938c62b4994ef38b84c8e5ef78b4a00a706593464 days 19 hrs ago0x14ec194d0793d29bf3dccddb5642639032cf4f57 IN  SolarDAOToken0 Ether0.000137457
0x8a9a276f4bfd89f46ce120298d1aeded7f9a63db08a303ee3fd3b3b94f7528c9705688666 days 10 hrs ago0x5cc11d2fd71969df3ae0888efffe0324399e55f5 IN  SolarDAOToken0 Ether0.00109625
0x46c1dc0bff7c99943b207f6e764d9c6a479c209a88938bbb4c68f643ae216d21705525566 days 17 hrs ago0x1cd2a03d78cdcf709cbe7a6bae781e9b4548ada8 IN  SolarDAOToken0 Ether0.000036925
0x384477cd13e4da8984f44f7a1e5b5098b9b2a6b647b9d3d15dbe25c3373ee2ac705051267 days 14 hrs ago0xaab5f4dcad2b9b49ebeb3be8522839b53dff599a IN  SolarDAOToken0 Ether0.00184625
0xeff5227017ef19e207176c80db0e31b60bfd3703beaa12875dbc4dec8e62553f702278672 days 13 hrs ago0xfec98ff927e9a45378ee36539a79fa3503023ce4 IN  SolarDAOToken0 Ether0.00109625
0x0fd3a2ac8acc440d16f4f2b181524fc5acbcd475d8cbf56b1440429bcf320ed4702160772 days 18 hrs ago0xd668337cb6b623216a93e55b76f8af19af10abf5 IN  SolarDAOToken0 Ether0.0001477
0xe2538a586a5f4ed9355ac04a1f196e5595b1b3d118f1312ad50eac58ac8c8e60702063172 days 22 hrs ago0x400969f35416cafb4905bb81663d22aba253b2a7 IN  SolarDAOToken0 Ether0.001477
0x43bb4681f4ad3ccbc1b444ca995fd4820445357adb3c95935cbba66061225c6e696697882 days 4 hrs ago0x32f6a95d1805f14f29df2146f4c33b470b3dd9d9 IN  SolarDAOToken0 Ether0.0000877
0xecfed91e1477fc40383bff6efc567f1f0491b8c9b25b954eb79bb3f8a60a5ebb696693782 days 5 hrs ago0x11968c01d1e19f67f2abb954a6ddd44e60be8d9a IN  SolarDAOToken0 Ether0.0001477
0xcc5e95b0e569655bfebe5e3d9f872a948ec9cd0599544152f89be05015f43be1696181783 days 1 hr ago0xa3ef56061cca81477e34e1fc8136b2a5de49184a IN  SolarDAOToken0 Ether0.00109625
0x200c5c7c601bc3c0b758f6fe019a81ee590b25fbe642d6c3c619560a7df7120f696051083 days 7 hrs ago0xcba3fcdd884aa441f386dffcf3b3126f6f469d7b IN  SolarDAOToken0 Ether0.001513925
0x339c15ecf42ec99d87aaf32c674e92705beafa5e4597b73f91c11238ceb755fe696044983 days 7 hrs ago0xcba3fcdd884aa441f386dffcf3b3126f6f469d7b IN  SolarDAOToken0 Ether0.00205
0xb8767735a4603837323031160e58e486ab3ff037d28390d984c016f7d1582cee691611890 days 19 hrs ago0xaab5f4dcad2b9b49ebeb3be8522839b53dff599a IN  SolarDAOToken0 Ether0.00184625
0x140c4ced164a9f9fc799c7a348dd4e84e34ae7bde95da3b0c2af996434891808691611090 days 19 hrs ago0xaab5f4dcad2b9b49ebeb3be8522839b53dff599a IN  SolarDAOToken0 Ether0.00184305
0x9d07186a54a2ffa8956c044b28218b86c5b9e02962d95e8ab374c7fafcffb5c5689333494 days 16 hrs ago0xaa2dcac38c775d74ca3df144d34b858480cc149c IN  SolarDAOToken0 Ether0.000137649
0x9381e3dc70d173086fb8bbd299a6b5d38493d9566ee314349e7521db57440899689329394 days 16 hrs ago0x05c2deab3e3486b18ee8a1e5787073154340e22b IN  SolarDAOToken0 Ether0.001035692
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value

Contract Source Code Verified (Exact Match)

Contract Name:
SolarDaoToken

Compiler Version
v0.4.13+commit.fb4cb1a

Optimization Enabled:
Yes

Runs (Optimizer):
200

Contract Source Code

pragma solidity ^0.4.13;

 /// @title Ownable contract - base contract with an owner
 /// @author [email protected]
contract Ownable {
  address public owner;

  function Ownable() {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    require(msg.sender == owner);  
    _;
  }

  function transferOwnership(address newOwner) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }
}

/// @title Haltable contract - abstract contract that allows children to implement an emergency stop mechanism.
/// @author [email protected]
/// Originally envisioned in FirstBlood ICO contract.
contract Haltable is Ownable {
  bool public halted;

  modifier stopInEmergency {
    require(!halted);
    _;
  }

  modifier onlyInEmergency {
    require(halted);       
    _;
  }

  /// called by the owner on emergency, triggers stopped state
  function halt() external onlyOwner {
    halted = true;
  }

  /// called by the owner on end of emergency, returns to normal state
  function unhalt() external onlyOwner onlyInEmergency {
    halted = false;
  }
}



 /// @title ERC20 interface see https://github.com/ethereum/EIPs/issues/20
 /// @author [email protected]
contract ERC20 {
  uint public totalSupply;
  function balanceOf(address who) constant returns (uint);
  function allowance(address owner, address spender) constant returns (uint);
  function mint(address receiver, uint amount);
  function transfer(address to, uint value) returns (bool ok);
  function transferFrom(address from, address to, uint value) returns (bool ok);
  function approve(address spender, uint value) returns (bool ok);
  event Transfer(address indexed from, address indexed to, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}

 /// @title SafeMath contract - math operations with safety checks
 /// @author [email protected]
contract SafeMath {
  function safeMul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function safeDiv(uint a, uint b) internal returns (uint) {
    assert(b > 0);
    uint c = a / b;
    assert(a == b * c + a % b);
    return c;
  }

  function safeSub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    return a - b;
  }

  function safeAdd(uint a, uint b) internal returns (uint) {
    uint c = a + b;
    assert(c>=a && c>=b);
    return c;
  }

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

  function assert(bool assertion) internal {
    require(assertion);  
  }
}


/// @title SolarDaoToken contract - standard ERC20 token with Short Hand Attack and approve() race condition mitigation.
/// @author [email protected]
contract SolarDaoToken is SafeMath, ERC20, Ownable {
 string public name = "Solar DAO Token";
 string public symbol = "SDAO";
 uint public decimals = 4;

 /// contract that is allowed to create new tokens and allows unlift the transfer limits on this token
 address public crowdsaleAgent;
 /// A crowdsale contract can release us to the wild if ICO success. If false we are are in transfer lock up period.
 bool public released = false;
 /// approve() allowances
 mapping (address => mapping (address => uint)) allowed;
 /// holder balances
 mapping(address => uint) balances;

 /// @dev Limit token transfer until the crowdsale is over.
 modifier canTransfer() {
   if(!released) {
       require(msg.sender == crowdsaleAgent);
   }
   _;
 }

 /// @dev The function can be called only before or after the tokens have been releasesd
 /// @param _released token transfer and mint state
 modifier inReleaseState(bool _released) {
   require(_released == released);
   _;
 }

 /// @dev The function can be called only by release agent.
 modifier onlyCrowdsaleAgent() {
   require(msg.sender == crowdsaleAgent);
   _;
 }

 /// @dev Fix for the ERC20 short address attack http://vessenes.com/the-erc20-short-address-attack-explained/
 /// @param size payload size
 modifier onlyPayloadSize(uint size) {
    require(msg.data.length >= size + 4);
    _;
 }

 /// @dev Make sure we are not done yet.
 modifier canMint() {
    require(!released);
    _;
  }

 /// @dev Constructor
 function SolarDaoToken() {
   owner = msg.sender;
 }

 /// Fallback method will buyout tokens
 function() payable {
   revert();
 }

 /// @dev Create new tokens and allocate them to an address. Only callably by a crowdsale contract
 /// @param receiver Address of receiver
 /// @param amount  Number of tokens to issue.
 function mint(address receiver, uint amount) onlyCrowdsaleAgent canMint public {
    totalSupply = safeAdd(totalSupply, amount);
    balances[receiver] = safeAdd(balances[receiver], amount);
    Transfer(0, receiver, amount);
 }

 /// @dev Set the contract that can call release and make the token transferable.
 /// @param _crowdsaleAgent crowdsale contract address
 function setCrowdsaleAgent(address _crowdsaleAgent) onlyOwner inReleaseState(false) public {
   crowdsaleAgent = _crowdsaleAgent;
 }
 /// @dev One way function to release the tokens to the wild. Can be called only from the release agent that is the final ICO contract. It is only called if the crowdsale has been success (first milestone reached).
 function releaseTokenTransfer() public onlyCrowdsaleAgent {
   released = true;
 }
 /// @dev Tranfer tokens to address
 /// @param _to dest address
 /// @param _value tokens amount
 /// @return transfer result
 function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) canTransfer returns (bool success) {
   balances[msg.sender] = safeSub(balances[msg.sender], _value);
   balances[_to] = safeAdd(balances[_to], _value);

   Transfer(msg.sender, _to, _value);
   return true;
 }

 /// @dev Tranfer tokens from one address to other
 /// @param _from source address
 /// @param _to dest address
 /// @param _value tokens amount
 /// @return transfer result
 function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(2 * 32) canTransfer returns (bool success) {
   var _allowance = allowed[_from][msg.sender];

    balances[_to] = safeAdd(balances[_to], _value);
    balances[_from] = safeSub(balances[_from], _value);
    allowed[_from][msg.sender] = safeSub(_allowance, _value);
    Transfer(_from, _to, _value);
    return true;
 }
 /// @dev Tokens balance
 /// @param _owner holder address
 /// @return balance amount
 function balanceOf(address _owner) constant returns (uint balance) {
   return balances[_owner];
 }

 /// @dev Approve transfer
 /// @param _spender holder address
 /// @param _value tokens amount
 /// @return result
 function approve(address _spender, uint _value) returns (bool success) {
   // To change the approve amount you first have to reduce the addresses`
   //  allowance to zero by calling `approve(_spender, 0)` if it is not
   //  already 0 to mitigate the race condition described here:
   //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   require ((_value == 0) || (allowed[msg.sender][_spender] == 0));

   allowed[msg.sender][_spender] = _value;
   Approval(msg.sender, _spender, _value);
   return true;
 }

 /// @dev Token allowance
 /// @param _owner holder address
 /// @param _spender spender address
 /// @return remain amount
 function allowance(address _owner, address _spender) constant returns (uint remaining) {
   return allowed[_owner][_spender];
 }
}

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleAgent","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_crowdsaleAgent","type":"address"}],"name":"setCrowdsaleAgent","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"releaseTokenTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"released","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

Contract Creation Code

606060405260408051908101604052600f81527f536f6c61722044414f20546f6b656e00000000000000000000000000000000006020820152600290805161004b9291602001906100f2565b5060408051908101604052600481527f5344414f00000000000000000000000000000000000000000000000000000000602082015260039080516100939291602001906100f2565b50600480556005805460a060020a60ff021916905534156100b357600080fd5b5b5b60018054600160a060020a03191633600160a060020a03161790555b60018054600160a060020a03191633600160a060020a03161790555b610192565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061013357805160ff1916838001178555610160565b82800160010185558215610160579182015b82811115610160578251825591602001919060010190610145565b5b5061016d929150610171565b5090565b61018f91905b8082111561016d5760008155600101610177565b5090565b90565b610b42806101a16000396000f300606060405236156100e35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f0578063095ea7b31461017b5780630b7d6320146101b157806318160ddd146101e057806323b872dd14610205578063313ce5671461024157806334103ee41461026657806340c10f19146102875780635f412d4f146102ab57806370a08231146102c05780638da5cb5b146102f157806395d89b411461032057806396132521146103ab578063a9059cbb146103d2578063dd62ed3e14610408578063f2fde38b1461043f575b6100ee5b600080fd5b565b005b34156100fb57600080fd5b610103610460565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101405780820151818401525b602001610127565b50505050905090810190601f16801561016d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018657600080fd5b61019d600160a060020a03600435166024356104fe565b604051901515815260200160405180910390f35b34156101bc57600080fd5b6101c46105a5565b604051600160a060020a03909116815260200160405180910390f35b34156101eb57600080fd5b6101f36105b4565b60405190815260200160405180910390f35b341561021057600080fd5b61019d600160a060020a03600435811690602435166044356105ba565b604051901515815260200160405180910390f35b341561024c57600080fd5b6101f3610702565b60405190815260200160405180910390f35b341561027157600080fd5b6100ee600160a060020a0360043516610708565b005b341561029257600080fd5b6100ee600160a060020a036004351660243561076c565b005b34156102b657600080fd5b6100ee610828565b005b34156102cb57600080fd5b6101f3600160a060020a036004351661086b565b60405190815260200160405180910390f35b34156102fc57600080fd5b6101c461088a565b604051600160a060020a03909116815260200160405180910390f35b341561032b57600080fd5b610103610899565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101405780820151818401525b602001610127565b50505050905090810190601f16801561016d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103b657600080fd5b61019d610937565b604051901515815260200160405180910390f35b34156103dd57600080fd5b61019d600160a060020a0360043516602435610947565b604051901515815260200160405180910390f35b341561041357600080fd5b6101f3600160a060020a0360043581169060243516610a40565b60405190815260200160405180910390f35b341561044a57600080fd5b6100ee600160a060020a0360043516610a6d565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104f65780601f106104cb576101008083540402835291602001916104f6565b820191906000526020600020905b8154815290600101906020018083116104d957829003601f168201915b505050505081565b60008115806105305750600160a060020a03338116600090815260066020908152604080832093871683529290522054155b151561053b57600080fd5b600160a060020a03338116600081815260066020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600554600160a060020a031681565b60005481565b600080604060443610156105cd57600080fd5b60055460a060020a900460ff1615156105fb5760055433600160a060020a039081169116146105fb57600080fd5b5b600160a060020a03808716600090815260066020908152604080832033851684528252808320549389168352600790915290205490925061063d9085610ac5565b600160a060020a03808716600090815260076020526040808220939093559088168152205461066c9085610aed565b600160a060020a03871660009081526007602052604090205561068f8285610aed565b600160a060020a03808816600081815260066020908152604080832033861684529091529081902093909355908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9087905190815260200160405180910390a3600192505b5b5b50509392505050565b60045481565b60015433600160a060020a0390811691161461072357600080fd5b60055460009060a060020a900460ff161561073d57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b5b505b50565b60055433600160a060020a0390811691161461078757600080fd5b60055460a060020a900460ff161561079e57600080fd5b6107aa60005482610ac5565b6000908155600160a060020a0383168152600760205260409020546107cf9082610ac5565b600160a060020a0383166000818152600760205260408082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a35b5b5b5050565b60055433600160a060020a0390811691161461084357600080fd5b6005805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b600160a060020a0381166000908152600760205260409020545b919050565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104f65780601f106104cb576101008083540402835291602001916104f6565b820191906000526020600020905b8154815290600101906020018083116104d957829003601f168201915b505050505081565b60055460a060020a900460ff1681565b60006040604436101561095957600080fd5b60055460a060020a900460ff1615156109875760055433600160a060020a0390811691161461098757600080fd5b5b600160a060020a0333166000908152600760205260409020546109ab9084610aed565b600160a060020a0333811660009081526007602052604080822093909355908616815220546109da9084610ac5565b600160a060020a0380861660008181526007602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b5b5b5092915050565b600160a060020a038083166000908152600660209081526040808320938516835292905220545b92915050565b60015433600160a060020a03908116911614610a8857600080fd5b600160a060020a03811615610769576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b6000828201610ae2848210801590610add5750838210155b610b06565b8091505b5092915050565b6000610afb83831115610b06565b508082035b92915050565b80151561076957600080fd5b5b505600a165627a7a723058202b729e5a0a38853899d23bd569b31a3a0f654a02ab6056fe94b1b3ad48c73f360029

Swarm Source

bzzr://2b729e5a0a38853899d23bd569b31a3a0f654a02ab6056fe94b1b3ad48c73f36
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.