EOS Tokens - Discussion

ok, thats not the eosio.token contract, you have to deploy the real eosio.token contract to an account that you must create and all it “eosio.token”.

Here is the link to the contract: eosio.token

Hope you find this useful! :slight_smile:

Carlos Z.

You are right, that’s not the right code :bulb:. I wonder how I got this automatic code.

OK, I used the link you provided, thanks! Here is a screenshot of the eosio.token.cpp code I have:

It looks correct.

Now, the issue I have is that I cannot build the contract, because the Build icon is greyed out:

build_greyed_out
I don’t see the CDT version number either on my status bar (v1.6.3 or v1.6.2) :thinking:

OK, let’s move on :sweat: :slightly_smiling_face: :arrow_forward:

Yes, there is no need to build the contract nor deploy it, you need to add the “eosio.token” account to your account list.

Sadly EOStudio still have a lot of issues, so it does now load the account, but by adding it you can later use all the actions that the contract have.

Hope you find this useful! :slight_smile:

Carlos Z.

1 Like

Thanks for the explanation. In fact, my eosio.token account is already created and available in the Account menu list. It is one of the starred accounts as you showed in the animation.

By default, I have “No Internet” written, I don’t know why, but I think this is what you mean when you say it does not load the account.

I can get to the contract when I click on Current Project eosio.token on the top left. I can go to eosio.token.cpp under src and read or modify the code.

As you can see, today the Build icon is not greyed out anymore. So I could attempt to build the contract, but I got a bunch of error messages:

It seems there is a problem with the hpp file. What hpp file do you have? Or did you keep it empty?

Anyway, in spite of these issues, it’s OK, I could follow Filip’s course even if I could not test everything myself. I know the Web version of EOS Studio has currently some limitations as well.

I started EOS 201 and I am happy to learn more about EOS contracts, this is exciting stuff!

Those erros should not be an issue in normal conditions with EOStudio, there is no need to build the contract, you can use directly from the eosio.token.

But right now with so many issues with EOStudio, it’s hard to say why you got those. :thinking:

Carlos Z.

1 Like

Hello, I am looking for some info that’s very simpleton for the programmers here. I’m brand new to these forums and learning in this space. I hope to find anyone who can help. I can give EOS to help me get mine out. I deposited in the ICO from ETH. I have my blockchain address so I know the pass word but I found only that I need Scatter, which gave me a new address. How to I link Scatter to my address at all?

That was my experience and I’m lost. Can I offer some EOS and their airdrops for compensation for help?

Hello sir, i suppose you are talking about the genesis accounts on EOS, those days when you send an amount of ETH to be part of the birth of EOS, those were an ICO at the beginning, now you should probably look at this guideline to know how to recover your EOS genesis account.

Lost key - Recover an EOS Genesis Account

Scatter is just another wallet client, once you are able to recover your genesis account, you can import it into Scatter to later use you EOS token and airdrops that you might receive in the past.

Hope you find this useful! :slight_smile:

If you have any doubt, please let us know so we can help you!

Carlos Z.

@thecil and any other eos folks out there. If I want to extend the eosio.token contract to add more functionality such as issuing tokens based on a timespan, staking tokens for governance or something like that, where would I want to put that logic? I could have a child contract of eosio.token or a second contract that “talked” to the eosio.token contract I guess as long as it had permission to do it. Are there issues with either of these approaches? I think some of the staking solutions take a deposit of one token and then issue another token that shows how much is staked. I’m not sure on this though… Any guidance would be appreciated.

I also want to make sure that this new logic doesn’t mess with the way the original contract works with other contracts, such as wallets and potential exchanges and all that.

Found this article where they say to:

  1. Copy the standard eosio.token contract and only modify it if really necessary. The only thing that the standard contract is missing, is freezing the tokens if you want to prohibit the transfers until a specific date. In other cases, just take the compiled WASM code of the standard contract and upload it to your token account.
  2. Assign permissions to execute create and issue methods to your treasury account.
  3. Make the token contract immutable: set the owner and active permissions to eosio account and remove your public keys.
  4. Test everything in a testnet before applying in a live network.

I think this makes sense. It seems like it’s going to be a lot back and forth between contracts. Thoughts from those that know what they are doing?

Thanks,
Chadrick

1 Like

Yes, you can use the eosio.token to manage every action referred to tokens over EOS. In that case you need to apply some of the eosio.token functions over your contract to have the feedback from other contracts.

The new syntax or logic is fully compatible with the old one, you can either program with the new one or learn the old one, both will work if you program everything great.

Yes, all the EOSIO contracts are made for back and forth communications between other contracts, those are the mandatory rules (like the ERC standards from ethereum) that you must follow or apply into your Smart Contract in order to have some of their functionality inherited on your contract.

I think you are going in the right path, you need to know all the features that EOSIO contracts provide to you, so you can built the idea that you have in mind using just all the functions that you need.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.