Latest Blog Post
Latest Ethereum News
- Web3 Design Principles – A framework of UX rules for Blockchain based Distributed Applications (part 1) 1 Apr
- Contract Storage and Upgrade in Augur and Colony 1 Apr
- The State of Ethereum Scaling, March 2018 1 Apr
- ScalingNOW! — Scaling Solution Summit Summary 1 Apr
- All videos from EthCC ’18 in Paris 1 Apr
Latest Other News
- Keep an Eye on Hangzhou: A Growing Hub for Blockchain Development 2 May
- Blockchain Lets This Startup Trade Gold That’s Still in the Ground 28 Apr
- Why All Central Banks’ E-Currencies Will Fail Horribly 28 Apr
- Bitmain Can Remotely Shut Down Your Antminer (and Everyone Else’s) 27 Apr
- The Ether Review #63 — Meet DAD, the Digital Aussie Dollar 27 Apr
Tags
- Anonymity
- Anti-Money Laundering
- Attack
- Bitcoin
- Blockchain
- Central Bank
- Consortium
- Crowdfunding
- Cryptocurrency
- Decentralisation
- Digital Currency
- Distributed Ledger
- Energy
- Enterprise
- Ethereum
- Ethereum Classic
- Exchange
- Financial Instruments
- Financial Services
- Fintech
- Golem
- Hack
- Hard Fork
- Hyperledger
- Identity
- Initial Coin Offering
- Insurance
- Internet-of-Things
- Know-Your-Client
- Monero
- Payments
- Peer-to-peer
- Physical Assets
- Privacy
- Regulation
- Scalability
- Security
- Settlements
- Smart Contract
- Source Code
- Synereo
- The DAO
- Tokens
- Wallet
- Zcash
Archives
- September 2018 (2)
- August 2018 (1)
- July 2018 (1)
- June 2018 (1)
- May 2018 (3)
- April 2018 (7)
- March 2018 (1)
- January 2018 (1)
- December 2017 (3)
- November 2017 (9)
- October 2017 (9)
- September 2017 (5)
- August 2017 (7)
- July 2017 (8)
- June 2017 (15)
- May 2017 (27)
- April 2017 (55)
- March 2017 (94)
- February 2017 (131)
- January 2017 (167)
- December 2016 (129)
- November 2016 (179)
- October 2016 (266)
- September 2016 (309)
- August 2016 (156)
- July 2016 (4)
- June 2016 (9)
- May 2016 (11)
- April 2016 (63)
Meta
Tag Archives: Decentralisation
Op Ed: How the Blockchain Will Help Fix the Internet
Op Ed: How the Blockchain Will Help Fix the Internet
MetaGold: Why Ethereum is a Game Changer for Online Gaming
MetaGold: Why Ethereum is a Game Changer for Online Gaming
MobileGo Tokens to Gamify the Gamecredits Mobile Store
MobileGo Tokens to Gamify the Gamecredits Mobile Store
Gamecredits Mobile Store Announces MobileGo Token Crowdfund
Gamecredits Mobile Store Announces MobileGo Token Crowdfund
Posted in Ethereum News
Tagged Crowdfunding, Decentralisation, Ethereum, Exchange, Smart Contract, Tokens
Leave a comment
The Next Wave of Ethereum Applications is Almost Here
The Next Wave of Ethereum Applications is Almost Here
Here Are Four Bitcoin Exchanges That Require Very Little Identity Verification
Here Are Four Bitcoin Exchanges That Require Very Little Identity Verification
Decentralized Ethereum Job Market Colony is Now in Beta
Decentralized Ethereum Job Market Colony is Now in Beta
Golem Protocol Part I: Decentralized Exchange for Computing
Golem Protocol Part I: Decentralized Exchange for Computing
Decentralized Capital’s Tokenised Fiat Currency. A Quick Look At The Smart Contracts
Here is Decentralized Capital’s website, their FAQ, and their Token Contracts page. Unfortunately you need to be verified to use this decentralised exchange. Here is their IDEX decentralised exchange screen: Here is their USD.DC verified smart contract deployed at 0x01a7018e6d1fde8a68d12f59b6532fb523b6259d: … Continue reading
Decentralized Capital’s IDEX Is Live on the Mainnet! And A Quick Look At The Smart Contract Code
IDEX Is Live on the Mainnet!. Following is the verified source code from 0x63091244180ae240c87d1f528f5f269134cb07b3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
pragma solidity ^0.4.6; contract Token { bytes32 public standard; bytes32 public name; bytes32 public symbol; uint256 public totalSupply; uint8 public decimals; bool public allowTransactions; mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) public allowance; function transfer(address _to, uint256 _value) returns (bool success); function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success); function approve(address _spender, uint256 _value) returns (bool success); function transferFrom(address _from, address _to, uint256 _value) returns (bool success); } contract DVIP { function feeFor(address from, address to, uint256 amount) constant external returns (uint256 value); } contract Assertive { function assert(bool assertion) { if (!assertion) throw; } } contract Owned is Assertive { address internal owner; event SetOwner(address indexed previousOwner, address indexed newOwner); function Owned () { owner = msg.sender; } modifier onlyOwner { assert(msg.sender == owner); _; } function setOwner(address newOwner) onlyOwner { SetOwner(owner, newOwner); owner = newOwner; } function getOwner() returns (address out) { return owner; } } contract Math is Assertive { function safeMul(uint a, uint b) internal returns (uint) { uint c = a * b; assert(a == 0 || 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; } } contract ExchangeWhitelist is Math, Owned { mapping (address => mapping (address => uint256)) public tokens; //mapping of token addresses to mapping of account balances struct Account { bool authorized; uint256 tier; uint256 resetWithdrawal; uint256 withdrawn; } mapping (address => Account) public accounts; mapping (address => bool) public whitelistAdmins; mapping (address => bool) public admins; //ether balances are held in the token=0 account mapping (bytes32 => uint256) public orderFills; address public feeAccount; address public dvipAddress; address public feeMakeExporter; address public feeTakeExporter; event Order(address tokenBuy, uint256 amountBuy, address tokenSell, uint256 amountSell, uint256 expires, uint256 nonce, address user, uint8 v, bytes32 r, bytes32 s); event Cancel(address tokenBuy, uint256 amountBuy, address tokenSell, uint256 amountSell, uint256 expires, uint256 nonce, address user, uint8 v, bytes32 r, bytes32 s); event Trade(address tokenBuy, uint256 amountBuy, address tokenSell, uint256 amountSell, address get, address give, bytes32 hash); event Deposit(address token, address user, uint256 amount, uint256 balance); event Withdraw(address token, address user, uint256 amount, uint256 balance); function ExchangeWhitelist(address feeAccount_, address dvipAddress_) { feeAccount = feeAccount_; dvipAddress = dvipAddress_; feeMakeExporter = 0x00000000000000000000000000000000000000f7; feeTakeExporter = 0x00000000000000000000000000000000000000f8; } function setFeeAccount(address feeAccount_) onlyOwner { feeAccount = feeAccount_; } function setDVIP(address dvipAddress_) onlyOwner { dvipAddress = dvipAddress_; } function setAdmin(address admin, bool isAdmin) onlyOwner { admins[admin] = isAdmin; } function setWhitelister(address whitelister, bool isWhitelister) onlyOwner { whitelistAdmins[whitelister] = isWhitelister; } modifier onlyWhitelister { if (!whitelistAdmins[msg.sender]) throw; _; } modifier onlyAdmin { if (msg.sender != owner && !admins[msg.sender]) throw; _; } function setWhitelisted(address target, bool isWhitelisted) onlyWhitelister { accounts[target].authorized = isWhitelisted; } modifier onlyWhitelisted { if (!accounts[msg.sender].authorized) throw; _; } function() { throw; } function deposit(address token, uint256 amount) payable { if (token == address(0)) { tokens[address(0)][msg.sender] = safeAdd(tokens[address(0)][msg.sender], msg.value); } else { if (msg.value != 0) throw; tokens[token][msg.sender] = safeAdd(tokens[token][msg.sender], amount); if (!Token(token).transferFrom(msg.sender, this, amount)) throw; } Deposit(token, msg.sender, amount, tokens[token][msg.sender]); } function withdraw(address token, uint256 amount) { if (tokens[token][msg.sender] < amount) throw; tokens[token][msg.sender] = safeSub(tokens[token][msg.sender], amount); if (token == address(0)) { if (!msg.sender.send(amount)) throw; } else { if (!Token(token).transfer(msg.sender, amount)) throw; } Withdraw(token, msg.sender, amount, tokens[token][msg.sender]); } function balanceOf(address token, address user) constant returns (uint256) { return tokens[token][user]; } uint256 internal feeTake; uint256 internal feeMake; uint256 internal feeTerm; function trade(address tokenBuy, uint256 amountBuy, address tokenSell, uint256 amountSell, uint256 expires, uint256 nonce, address user, uint8 v, bytes32 r, bytes32 s, uint256 amount) onlyWhitelisted { //amount is in amountBuy terms bytes32 hash = sha3(tokenBuy, amountBuy, tokenSell, amountSell, expires, nonce, user); if (!( ecrecover(hash,v,r,s) == user && block.number <= expires && safeAdd(orderFills[hash], amount) <= amountBuy && tokens[tokenBuy][msg.sender] >= amount && tokens[tokenSell][user] >= safeMul(amountSell, amount) / amountBuy )) throw; feeMake = DVIP(dvipAddress).feeFor(feeMakeExporter, msg.sender, 1 ether); feeTake = DVIP(dvipAddress).feeFor(feeTakeExporter, user, 1 ether); tokens[tokenBuy][msg.sender] = safeSub(tokens[tokenBuy][msg.sender], amount); feeTerm = safeMul(amount, ((1 ether) - feeMake)) / (1 ether); tokens[tokenBuy][user] = safeAdd(tokens[tokenBuy][user], feeTerm); feeTerm = safeMul(amount, feeMake) / (1 ether); tokens[tokenBuy][feeAccount] = safeAdd(tokens[tokenBuy][feeAccount], feeTerm); feeTerm = safeMul(amountSell, amount) / amountBuy; tokens[tokenSell][user] = safeSub(tokens[tokenSell][user], feeTerm); feeTerm = safeMul(safeMul(((1 ether) - feeTake), amountSell), amount) / amountBuy / (1 ether); tokens[tokenSell][msg.sender] = safeAdd(tokens[tokenSell][msg.sender], feeTerm); feeTerm = safeMul(safeMul(feeTake, amountSell), amount) / amountBuy / (1 ether); tokens[tokenSell][feeAccount] = safeAdd(tokens[tokenSell][feeAccount], feeTerm); orderFills[hash] = safeAdd(orderFills[hash], amount); Trade(tokenBuy, amount, tokenSell, amountSell * amount / amountBuy, user, msg.sender, hash); } bytes32 internal testHash; uint256 internal amountSelln; function testTrade(address tokenBuy, uint256 amountBuy, address tokenSell, uint256 amountSell, uint256 expires, uint256 nonce, address user, uint8 v, bytes32 r, bytes32 s, uint256 amount, address sender) constant returns (uint8 code) { testHash = sha3(tokenBuy, amountBuy, tokenSell, amountSell, expires, nonce, user); if (tokens[tokenBuy][sender] < amount) return 1; if (!accounts[sender].authorized) return 2; if (!accounts[user].authorized) return 3; if (ecrecover(testHash, v, r, s) != user) return 4; amountSelln = safeMul(amountSell, amount) / amountBuy; if (tokens[tokenSell][user] < amountSelln) return 5; if (block.number > expires) return 6; if (safeAdd(orderFills[testHash], amount) > amountBuy) return 7; return 0; } function cancelOrder(address tokenBuy, uint256 amountBuy, address tokenSell, uint256 amountSell, uint256 expires, uint256 nonce, uint8 v, bytes32 r, bytes32 s, address user) { bytes32 hash = sha3(tokenBuy, amountBuy, tokenSell, amountSell, expires, nonce, user); if (ecrecover(hash,v,r,s) != msg.sender) throw; orderFills[hash] = amountBuy; Cancel(tokenBuy, amountBuy, tokenSell, amountSell, expires, nonce, msg.sender, v, r, s); } } |
Why Ethereum-Style Blockchains Do Not Really Decentralize
Why Ethereum-Style Blockchains Do Not Really Decentralize
The future is a decentralized internet
The future is a decentralized internet
Into The Ether (AKASHA)
Into The Ether
Atomic Swaps: How the Lightning Network Extends to Altcoins
Atomic Swaps: How the Lightning Network Extends to Altcoins
Posted in Other News
Tagged Bitcoin, Cryptocurrency, Decentralisation, Exchange, Payment Channel
Leave a comment
Bitcoin-Powered Internet Advances With $4 Million Blockstack Funding
Bitcoin-Powered Internet Advances With $4 Million Blockstack Funding
How blockchain can create the world’s biggest supercomputer
How blockchain can create the world’s biggest supercomputer
InChain’s Cryptocurrency Deposit Insurance Fails To Launch
InChain’s Cryptocurrency Deposit Insurance Fails To Launch
A Quick Look At EtherDelta’s Smart Contract
Here is EtherDelta’s screen running in the Ethereum Wallet application, executed to operate as Mist by using the command line parameter –mode mist, and then navigating to the URL https://etherdelta.github.io/#GNTW-ETH. EtherDelta is produced by https://etherboost.github.io/. Following is the source code … Continue reading
Posted in Blog
Tagged Decentralisation, Ethereum, Exchange, Smart Contract, Source Code
Leave a comment
New decentralized ride sharing service joins the frenzy in Austin with bitcoin alternative
New decentralized ride sharing service joins the frenzy in Austin with bitcoin alternative
Inchain Holds ICO for Decentralized Insurance Platform
Inchain Holds ICO for Decentralized Insurance Platform
Suchflex Turns Idle Computing Power Into an Incentivized Network
Suchflex Turns Idle Computing Power Into an Incentivized Network
Incas, Gold and Bitcoin. Story of InkaPay, South American Blockchain Platform for People
Incas, Gold and Bitcoin. Story of InkaPay, South American Blockchain Platform for People
Posted in Other News
Tagged Blockchain, Cryptocurrency, Decentralisation, Exchange, Financial Services
Leave a comment
An Interview with the Developers of a Blockchain-Based Router
An Interview with the Developers of a Blockchain-Based Router
A Decentralized Content Registry for the Decentralized Web
A Decentralized Content Registry for the Decentralized Web
Bitcoin is a Highly Centralized Network, Says Harvard Researcher
Bitcoin is a Highly Centralized Network, Says Harvard Researcher
Designing A Better Internet with Ethereum and Golem
Designing A Better Internet with Ethereum and Golem
Synereo Bringing Decentralized Social Media to China
Synereo Bringing Decentralized Social Media to China
The Decentralized Web, IPFS and Filecoin – Juan Benet
The Decentralized Web, IPFS and Filecoin – Juan Benet from the Silicon Valley Ethereum Meetup Oct 22 2016. See also Juan Benet’s first and second talks at the Ethereum Devcon2 Conference In Shanghai.
Synereo Partners Silicon Valley’s NFX Guild to Accelerate Decentralised Apps
Synereo Partners Silicon Valley’s NFX Guild to Accelerate Decentralised Apps
How the Blockchain Could Change Corporate Structure
How the Blockchain Could Change Corporate Structure