You can deploy in the localhost network following these steps:
- Start Godwoken devnet_v1 through Godwoken-Kicker
# see: https://github.com/RetricSu/godwoken-kicker/tree/compatibility-changes
git clone -b compatibility-changes --depth=1 https://github.com/RetricSu/godwoken-kicker.git kicker
cd kicker
./kicker init
./kicker start
./kicker deposit 0xCD1d13450cFA630728D0390C99957C6948BF7d19 1000
./kicker deposit 0x0c1efcca2bcb65a532274f3ef24c044ef4ab6d73 1000
- Run tests
# pwd = contracts
npm install
npm run test
As general rule, you can target any network configured in the hardhat.config.js
npx hardhat run --network <your-network> scripts/deploy.js
- SHA3
- ADDRESS
- BALANCE
- ORIGIN
- CALLER
- CALLVALUE
- CALLDATALOAD
- CALLDATASIZE
- CALLDATACOPY
- CODESIZE
- CODECOPY
- GASPRICE
- EXTCODESIZE
- EXTCODECOPY
- RETURNDATACOPY
- EXTCODEHASH
- BLOCKHASH
- COINBASE
- TIMESTAMP
- NUMBER
- DIFFICULTY
- GASLIMIT
- CHAINID
- SELFBALANCE
- SLOAD
- SSTORE
- GAS
- LOG0
- LOG1
- LOG2
- LOG3
- LOG4
- CREATE
- CALL
- CALLCODE
- DELEGATECALL
- CREATE2
- STATICCALL
- REVERT
- SELFDESTRUCT
...
- ecrecover()
- sha256hash()
- ripemd160hash()
- dataCopy
- bigModeExp()
- bn256Add()
- bn256ScalarMul()
- bn256Pairing()
- EIP-2565: ModExp Gas Cost
- EIP-2929: Gas cost increases for state access opcodes
- EIP-2718: Typed Transaction Envelope
- EIP-2930: Optional access lists
- fork project and Create a new branch according to the issue
git checkout -b issue250
- Create a new file and reproduce the use case in the bugs directory
add only
after describe,it mean only run this case
example:bugs/issue250.js
const {expect} = require("chai");
describe.only("issue250 ", function () {
it("demo not fixed ", async () => {
console.log("step1:xxx")
console.log("step2:xxx")
console.log("step3:xxx")
console.log("expected:xxx")
expect("").to.be.equal("not xxx")
})
it("demo fixed", async () => {
console.log("step1:xxx")
console.log("step2:xxx")
console.log("step3:xxx")
console.log("expected:xxx")
expect("").to.be.equal("")
})
})
- push
git commit -m "issue250"
git push --set-upstream origin issue250