Truffle plugin to post-process contracts for go-ethereum's abigen

Usage no npm install needed!

<script type="module">
  import chainsafeTrufflePluginAbigen from 'https://cdn.skypack.dev/@chainsafe/truffle-plugin-abigen';



This truffle plugin generates the required files needed to use Geths abigen to generate contract bindings in golang.


  1. Install the plugin with npm
    npm install @chainsafe/truffle-plugin-abigen
  2. Add the plugin to your truffle.js or truffle-config.js file
    module.exports = {
      /* ... rest of truffle-config */
      plugins: [


Before running ensure that you've compiled your contracts:

truffle compile

To generate specific contract bindings:

truffle run abigen SomeContractName AnotherContractName

Alternatively, to generate bindings for all your contracts:

truffle run abigen


You can pass an optional --debug flag into the plugin to display debug messages during the verification process. This is generally not necessary, but can be used to provide additional information when the plugin appears to malfunction.