Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@tableland/eth

Package Overview
Dependencies
Maintainers
4
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tableland/eth

Tableland Tables contract and client components

  • 1.0.0
  • next
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

@tableland/eth

GitHub license GitHub package.json version Release standard-readme compliant

Tests

Tableland Tables contract and client components

Table of Contents

Background

This is the Tableland Tables contract and client components. This is the first pass, and is subject to wild changes without notice!

Development

Building the client

You can build the Typescript client locally:

npm install
npx hardhat compile
npm run build

Testing

Run the test suite:

npm test

Test with gas reporting:

REPORT_GAS=true npx hardhat test

Deploying

Deployments are handled on a per-network basis:

npx hardhat run scripts/deploy.ts --network optimism

Network names may include context for the target Tableland network:

npx hardhat run scripts/deploy.ts --network optimism-kovan-staging

Where optimism-kovan-staging indicates a deployment to the Optimism Kovan testnet for the Tableland staging network.

Refer to the proxies entry in hardhat.config.js for the list of current deployments.

Upgrading

The Tableland contracts are currently upgradeable at this early stage of development. Upgrades are handled much like deployments:

npx hardhat run scripts/upgrade.ts --network optimism

Upgrading on a network only works if a previous deployment already exists, referenced by a corresponding proxy address in the proxies entry in hardhat.config.js.

Extacting the ABI and Bytecode

You can you grab the assets you need by compiling and then using some jq magic:

ABI

cat artifacts/contracts/TablelandTables.sol/TablelandTables.json | jq '.abi' > abi.json

Bytecode

cat artifacts/contracts/TablelandTables.sol/TablelandTables.json | jq -r '.bytecode' > bytecode.bin

Generate the Go client!

You can use the above abi.json to build the Go client:

mkdir gobuild
abigen --abi ./abi.json --bin ./bytecode.bin --pkg contracts --out gobuild/Registry.go

Etherscan verification

To try out Etherscan verification, you first need to deploy a contract to an Ethereum network that's supported by Etherscan, such as Goerli.

In this project, copy the .env.example file to a file named .env, and then edit it to fill in the details. Enter your Etherscan API key, your Goerli node URL (e.g., from Alchemy), and the private key of the account which will send the deployment transaction. With a valid .env file in place, first deploy your contract:

npx hardhat run scripts/deploy.ts --network ethereum-goerli

Then, copy the deployment address and paste it in to replace DEPLOYED_CONTRACT_ADDRESS in this command:

npx hardhat verify DEPLOYED_CONTRACT_ADDRESS --network ethereum-goerli

Performance optimizations

For faster runs of your tests and scripts, consider skipping ts-node's type checking by setting the environment variable TS_NODE_TRANSPILE_ONLY to 1 in hardhat's environment. For more details see the documentation.

Maintainers

Contributing

PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT AND Apache-2.0, © 2021-2022 Tableland Network Contributors

Keywords

FAQs

Package last updated on 07 Jun 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc