Cardstack Adopts ZeppelinOS to Grow Token Ecosystem

ZeppelinOS is adopted in our second smart contract upgrade

Cardstack Team
Cardstack
4 min readSep 10, 2018

--

This is Cardstack’s official smart contract upgrade announcement posted on September 12, 2018 (00:00 UTC), redirecting from https://cardstack.com/zos-upgrade.

Update: The new, official address for Cardstack Token (CARD) as of September 12, 2018 (00:00 UTC) is:

0x954b890704693af242613edEf1B603825afcD708

This address may be verified on Etherscan by looking up our ENS address, cardstack.eth.

All token balances from the previous version (0xB07e…935c) of the smart contract have been transferred to the new address (0x954b…D708). Detailed transaction history prior to this upgrade will remain accessible via the previous contract.

Third-party integration partners have been notified of our new address and will be updating their systems to reflect this soon. Direct token transfers are now reactivated.

If you have Cardstack Tokens: You do not need to do anything, except to use the new address going forward! We want to make sure you have a great user experience, so the hard part of swapping tokens and transferring balances has been completed and paid for by our team.

This major upgrade also enables us to make future upgrades without changing our contract address, to further improve the user experience.

Read the original post below to learn about the improvements in this upgrade.

For developers: You may now review the Cardstack Token code and obtain the ABI on the Etherscan page of the implementation contract (0x48EC…Ffe7), which sits behind the ZeppelinOS proxy contract (0x954b…D708) that users and integration partners access. The fully open-sourced code for Cardstack Token is on GitHub at https://github.com/cardstack/cardstack-token.

Background

The core idea behind Cardstack is to allow end-users and developers to “mix and match” features to fit their workflow. To achieve that, Cardstack has been designed as a full-stack application development platform complemented by a modular smart contract architecture.

Since our initial Ethereum mainnet deployment, end-users can always find the latest version of the Cardstack Token (CARD) smart contract using our Ethereum Name Service (ENS) address: cardstack.eth

With the recent announcement of our technical roadmap, we explained our intention for CARD to serve as a universal fuel, so users can pay for any dApp, app, or cloud service using their CARD token balance.

To achieve this, we plan to roll out steady, iterative updates to integrate Cardstack with decentralized exchanges, stablecoins, and oracles, as well as enable compliance mechanisms such as CLUTCH (Conditionally Locked Until Token is Handed over), to grow the Cardstack ecosystem.

The Smart Contract Upgrade

To prepare for these future enhancements, we are deploying the second major upgrade for the Cardstack Token (CARD) smart contract, currently planned for Tuesday, September 11, 2018.

With this upgrade, we will be adopting the ZeppelinOS framework for upgradable contracts, which employs a proxy pattern. We made this decision after a careful review of the latest ZeppelinOS codebase and concluded previous security vulnerabilities had been addressed.

We have held off on a few highly anticipated integrations until this upgrade and address change is complete. We expect to proceed on the third-party integrations soon after the upgrade is complete.

What you should know

  • Transactions will be disabled for the duration of the upgrade.
  • The upgrade is planned to begin Tuesday, September 11 at 9:00 AM EST (15:00 CEST) and will last an estimated 8–12 hours.
  • Cardstack Token’s Ethereum address will change. The latest address can always be found via our Ethereum Name Service (ENS) address, cardstack.eth, once the upgrade is complete.
  • This upgrade means the address will not need to change again when we deploy new versions in the future.
  • We will provide updates on the upgrade via our official Telegram channels: https://t.me/cardstackupdates and https://t.me/cardstack.

For those who are curious, here’s the full list of changes:

  • Transition our contract to the ZeppelinOS transparent proxy pattern, in line with the latest industry standards;
  • Allow future smart contract upgrades to deploy without changing our token contract address;
  • Refactor our ledger contract to significantly reduce gas usage for the transfer function by about 50%, to lessen the possibility of unexpected failures;
  • Update our Solidity code to the latest version specifically;
  • Declare the maximum circulation cap and ensure all future token issuance is within this limit;
  • Add back functionality for transactions of zero tokens to comply to the ERC20 standard.

As always, you may review our fully open-sourced token contract at https://github.com/cardstack/cardstack-token.

Questions?

Please don’t hesitate to reach out to an admin in our official Telegram discussion channel: https://t.me/cardstack

Read More

Important Reminders

  • We will never, under any circumstances, solicit funds from you via email, private message, or social media.
  • If you are in doubt or notice any suspicious activity, please message the admins in our official Telegram group: https://t.me/cardstack.

--

--

Cardstack Team
Cardstack

Official account for the team behind the Cardstack project.