Remix makes it so easy to get the json abi code.
Does anyone have any recommendation on how best to get he json abi code after successfully deploying a contract using truffle without having to leverage Remix?
Thank you in advance!
Ethereum Stack Exchange is a question and answer site for users of Ethereum, the decentralized application platform and smart contract enabled blockchain. It only takes a minute to sign up.
Sign up to join this communitywhen you run
$ truffle compile
truffle creates and saves a json file per contract in /yourProjectPath/build/contracts
. In this json file you'll find the abi, the bytecode, the topics (if you have any event
in your smart contract), the function definitions etc (you get the point I guess, I encourage you to spend some time understanding that file - just to get a broad understanding).
personally I use python for my projects. Here is how I automatically load my abi into my scripts for transacting with my contracts (using web3py)
import json
PATH_TRUFFLE_WK = '/home/myUserName/Projects/myEthereumProjet/'
truffleFile = json.load(open(PATH_TRUFFLE_WK + '/build/contracts/myContractName.json'))
abi = truffleFile['abi']
bytecode = truffleFile['bytecode']
You can do the same with your favorite programming language or simply copying-pasting your abi by hand.
I wrote a simple tool that does exactly what @salanfe suggested. It's handy when you have multiple contract definitions:
# Install it from npm
$ npm install -g truffle-export-abi
# Run it in your truffle project
$ truffle-export-abi
ABI extracted and output file wrote to: build/ABI.json
Github repo: https://github.com/maxme/truffle-export-abi