# VM Error deploying ERC777 with Remix

**URL:** <https://forum.openzeppelin.com/t/vm-error-deploying-erc777-with-remix/4094>\
**Category:** Contracts\
**Created:** [October 10, 2020, 7:49pm UTC](https://forum.openzeppelin.com/t/vm-error-deploying-erc777-with-remix/4094 "2020-10-10T19:49:01Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![abcoathup](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/abcoathup/32/415_2.png) [@abcoathup](https://forum.openzeppelin.com/u/abcoathup)\
**Post date:** [October 12, 2020, 12:25am UTC](https://forum.openzeppelin.com/t/vm-error-deploying-erc777-with-remix/4094/2 "2020-10-12T00:25:39Z")

</div>

Hi @adriadrop,

Welcome to the community 👋

> A key point to note is that in a [testing environment an ERC777 token requires deploying an ERC1820 registry](https://forum.openzeppelin.com/t/erc777-constructor-arguments/664/4)

\_From: [https://forum.openzeppelin.com/t/simple-erc777-token-example/746\_](https://forum.openzeppelin.com/t/simple-erc777-token-example/746_)

The issue is that the JavaScript VM doesn't have the ERC1820 registry deployed.

You would need to deploy the ERC1820 registry first if deploying to a JavaScript VM (I don't know how to do this in Remix without looking into it).

You could deploy locally to `ganache-cli` and deploy the ERC1820 registry using a script.  
See the following example of a script to deploy ERC1820: [How to deploy ERC777 using OpenZeppelin CLI? - #4 by abcoathup](https://forum.openzeppelin.com/t/how-to-deploy-erc777-using-openzeppelin-cli/4005/4)

Alternatively, you can deploy using Remix to a public testnet. I reproduced the error that you saw with a JavaScript VM and then deployed GLDToken to a public testnet. (Kovan)

 ![er777 to Kovan](https://us1.discourse-cdn.com/flex022/uploads/zeppelin/original/2X/c/c0a317fab90664328b45e6a0f1c20d6e3f650d90.png)

---

_[View the full topic](https://forum.openzeppelin.com/t/vm-error-deploying-erc777-with-remix/4094)._
