Essentially both have hash as an address and allows for execution of actions but are the actually the same thing?

  • yes, they are the same thing, the smart contract just add some code that can't be executed
    – Jimmy Guo
    Jul 23 '18 at 2:22

No, they're different concepts: accounts are on-chain identifiers and smart contracts are on-chain software. You need an account to deploy or interact with a smart contract, but you can have an account that never published a smart contract and is only used to interact with the blockchain or other smart contracts. However, smart contracts must belong to an account, and they are are identified by the account name, so that's where you have some interaction between the concepts.

If you want to read more about this, I recommend the relevant official docs:

  • I would like to ask a slightly unrelated question. so one of the required method for a smart contract is emplace, which is to assign the RAM usage to an account , can we assign it to a smart contract which in turns assigns it to an account instead? Basically, can a smart contract emplace another smart contract instead of a user?
    – Randy
    Jul 23 '18 at 8:01
  • Yes, the first argument to emplace() is the payer for RAM, which can be set in the code--you don't assign it to a smart contract though, you assign it to the account that owns a smart contract. However, it's not good StackExchange practice to talk about off-topic questions in the comments
    – confused00
    Jul 23 '18 at 8:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.