Solidity vs Plutus and "ether" on the testnet?

New to cardano, coming from etherum, very excited about cardano.

I am confused with respect to the programing language, will Plutus and solidity be supported in paralell? What is the rationale on this?, Why different languages?

Also, I am going through the testnet IELE, using remix. However, the funds are listed in ETHER, the testnet block explorer also show funds in Ether?

Any help will be appreciated.

Hi, I’m sure people with more knowledge will answer as well but the multiple language rational is supported in order to give Devs options to program in the language they are comfortable with. Plutus will be the native language because as a functional programing language it offers advantages over non functional types. You can also use Haskell/Plutus for your on chain and off chain programing which offers a unified codebase as opposed to solidity/javascript. IELE and KEVM are implimeted through the K framework BTW. The K framework acts like a translator and will eventually allow programmers to use many different languages. The reason funds are in Ether is the testnet is built on the Mantis Ethreum Classic client that IOHK made. There are some great videos out explaining the benefits of Plutus from the IOHK summit that concluded yesterday. Look for Phil Wadler.


1- the testnet of cardano run on mantis ( etherium classic ) this is why I guess it shows in ether
2- you could compile solidity to IELE ( a better version of EVM ( etherium )
3- cardano has to offer a better/ much secure concise, a better way to write smart contract and that would be Plutus
4- the why of Plutus vs Solidity is because solidity has flaws, it’s not functional language programming and you need diferente language to achieve ( offline / on chain transactions ) the same thing using just Plutus ( which would give more assurance about correctness of the code )

Please note that this explanations are quite very simplified to be brief!

I’m a little unclear on exactly where this is in the system architecture and roadmap, but as I understood CH, you will be able to translate or interpret (depending on implementation) between the smart contract language and an underlying layer that has some nice formal properties. (K-something framework?)

Whether the target for that framework was Haskell or something else I am unclear on. I would also appreciate an expert to clarify the details.

So this is more or less a bridging solution? I’m guessing they want to have solidity translation ready when they release the Haskell/Plutus based versions so that Solidity contracts can be used immediately.

Does running Solidity contracts this way help with the flaws mentioned? I’d guess not, but would be interesting if it could help.

Can you clarify this?, if I am developing an off-chain web app, how will I use Haskell to do the things I usually do with javascript, I don’t know anything about Haskell but sounds like using Plutus one will end up with off-chain web apps using javaScript and haskell

Nope, Plutus both on- and off-chain.

This might be helpful re K-Framework.

Yes, I understand you yet is the cost to pay to have great great applications ( in therms of correctness of the code, security etc )

As @RobJF pointed out, with Plutus you could do both, off and on chain

The right way to think about it may be to realize that Plutus will give you the environment to address many chains, the main ADA chain, ADA sidechains and other off-chain structures. If you are totally working internally to the chains/protocols of your application, a sort-of mono-culture, you don’t need any of this. If you need to connect different things, I’m not aware of other solutions (anyone know of Cardano competitors here, please create a topic on it somewhere here).

You have 2 Ethereum based programing options KEVM which is a direct translation of of the current Eth platform flaws and all. You also have IELE which is a “improved” version of Eth that prevents some common problems.

1 Like

Maybe you can answer this too. KEVM vs. IELE and what chains you can reference/mix in contracts. Is it different ADA main to side chains vs. interacting directly with Ethereum chains.

Native Ethereum tokens/coins are connected by contract to BTC (and others?) based underlying assets? And Cardano by default is always refering back to ADA SL chain. I understand there is a concept of one and two way communication with an external chain, or is this confused?

That is a great question. I am not an authority on this topic but as far as how the various Cardano based side-chains (IELE, KEVM) operate, since they all reference and use the SL as the base then value will be able to move easily between them. I recall Charles saying they are working on lightning network compatibility as well but I don’t have details on that. In the next Charles AMA I’d like someone to ask where we are with the K Framework integration as I have not heard much on that topic lately. Hopefully that will be in the updated roadmap.

It may have been something on TCE session. IIRC, there is a concept of “external” interoperability that involves a sort of two way exchange between chains so you can find out in the plutus contract execution whether something happened on the other chain after triggering an external transaction. I gathered that in one direction (triggering, I think) it is fairly straightforward, but some later steps in verification needed the other chain to have some sort of compatibility with Cardano.

1 Like

Correct as far as I know. Developers on the other Chains have to enable their chain to have true 2 way value transfer. Getting interoperability with Bitcoin would be huge.

Hey, just curious why you made the switch from ethereum to cardano? I’m actually doing a study on different platforms right now and would really appreciate any input on which platform you think is better.

If you’re interested, I made a short anonymous survey for developers. Like I said, any input would help!

I did not switch from Ethereum to Cardano, I just decided to learn about Cardano to develop on top of it. I think is hard to try to decide which platform is better at this point, all this stuff that we are seeing (all the blockchain projects) are toy implementations regardless of what people would like to claim (probably bitcoin is the exception). That said, I think Cardano is the project with the wider vision and therefore likely to be the one with actual practical usability in all aspects of the economy. this is because instead of trying to replace things, it aims to integrate things solving many problems in the way. Hope this helps


Thanks for the insight! Just out of curiosity, what kind of dapps do you develop?