suhasagg / energirepository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bidding Game Based on energi chain

1)https://github.com/suhasagg/energirepository/tree/main/contracts/biddinggame

2)https://github.com/suhasagg/energirepository/tree/main/Utilscripts

3)https://github.com/suhasagg/hardhateventparsing

Module is tested on

1)ganache-cli

2)ETHERSCAN_API_KEY=ABC123ABC123ABC123ABC123ABC123ABC1

KOVAN_RPC_URL=https://eth-ropsten.alchemyapi.io/v2/

PRIVATE_KEY=0xabc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc1

A simple game sequence

2022/08/04 11:44:22 Placed bid - Player 1

2022/08/04 11:44:23 Placed bid - Player 2

2022/08/04 11:44:24 Placed bid - Player 1

2022/08/04 11:44:25 Placed bid - Player 2

2022/08/04 11:44:26 Placed bid - Player 1

2022/08/04 11:44:27 Placed bid - Player 2

2022/08/04 11:44:28 Placed bid - Player 1

2022/08/04 11:44:29 Placed bid - Player 2

2022/08/04 11:44:30 Placed bid - Player 1

2022/08/04 11:44:31 Placed bid - Player 2

2022/08/04 11:44:46 bidding round has completed

2022/08/04 11:44:46 Bidding is over

2022/08/04 11:44:46 Player 1 tries to withdraw

2022/08/04 11:44:46 Player 2 tries to withdraw

Game logs

Bid placement logs with Bidding Game state at that timestamp

LogBid Event Emitted

Bidder: 0x5194b63F10691E46635B27925100CfC0a5cECa62

Bid: 470

HighestBidder: 0x5ece25D5a9F2f82066fc97ec3B9d162599b0d826

Highestbid: 470

HighestBindingBid: 470

Bidder: 0x5194b63F10691E46635B27925100CfC0a5cECa62


LogBid Event Emitted

Bidder: 0x5ece25D5a9F2f82066fc97ec3B9d162599b0d826

Bid: 520

HighestBidder: 0x5ece25D5a9F2f82066fc97ec3B9d162599b0d826

Highestbid: 520

HighestBindingBid: 470

Bidder: 0x5ece25D5a9F2f82066fc97ec3B9d162599b0d826


Detailed Game event Logs

{ transactionIndex: 0,

blockNumber: 2,

transactionHash: '0x286d4f49d3ea89094763dcfac52034f86db04ea07e92229be99267b3b12143e4',

address: '0x5FbDB2315678afecb367f032d93F642f64180aa3',

topics: [ '0xf152f4ff5e488c55370a2d53925a55055228ebd8ec95bd0251bbb299e48786b0' ],

data: '0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a',

logIndex: 0,

blockHash: '0xf9ab08e70bce82dad8dcc2c9f451d6df6f1d22f6389fd34529c6f8000b50b6ea',

args: [ '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', BigNumber { value: "10" }, '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', BigNumber { value: "10" }, BigNumber { value: "10" }, bidder: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', bid: BigNumber { value: "10" }, highestBidder: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', highestBid: BigNumber { value: "10" }, highestBindingBid: BigNumber { value: "10" } ],

decode: [Function (anonymous)],

event: 'LogBid',

eventSignature: 'LogBid(address,uint256,address,uint256,uint256)',

removeListener: [Function (anonymous)],

getBlock: [Function (anonymous)],

getTransaction: [Function (anonymous)],

getTransactionReceipt: [Function (anonymous)]

} { transactionIndex: 0,

blockNumber: 3,

transactionHash: '0x5aff457572999f14c567922bc57516d05ceb30d68bb42b96f9cf353a79d78fe6',

address: '0x5FbDB2315678afecb367f032d93F642f64180aa3',

topics: [ '0xf152f4ff5e488c55370a2d53925a55055228ebd8ec95bd0251bbb299e48786b0' ],

data: '0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000a',

logIndex: 0,

blockHash: '0x06ee1eabe09c00221bca4db2b69581173671ede550fe0cb97946efbe180f4a46',

args: [ '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', BigNumber { value: "30" }, '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', BigNumber { value: "30" }, BigNumber { value: "10" }, bidder: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', bid: BigNumber { value: "30" }, highestBidder: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', highestBid: BigNumber { value: "30" }, highestBindingBid: BigNumber { value: "10" } ],

decode: [Function (anonymous)],

event: 'LogBid',

eventSignature: 'LogBid(address,uint256,address,uint256,uint256)',

removeListener: [Function (anonymous)],

getBlock: [Function (anonymous)],

getTransaction: [Function (anonymous)],

getTransactionReceipt: [Function (anonymous)]

} {

transactionIndex: 0,

blockNumber: 4,

transactionHash: '0x67009ca0a16fa2d1196f144c8eb251cf4517993b720264627e97efc5145bce10',

address: '0x5FbDB2315678afecb367f032d93F642f64180aa3',

topics: [ '0x462b6ca7f632601af1295aeb320851f50e8e630a309173f23535845ea4bfb3b9' ],

data: '0x',

logIndex: 0,

blockHash: '0x3e4c02e4ead849f38a3cbd81a5e5e8d9e9876b9104efa67753d017ee77cbe8f5',

args: [],

decode: [Function (anonymous)],

event: 'LogCanceled',

eventSignature: 'LogCanceled()',

removeListener: [Function (anonymous)],

getBlock: [Function (anonymous)],

getTransaction: [Function (anonymous)],

getTransactionReceipt: [Function (anonymous)]

} { transactionIndex: 0,

blockNumber: 5,

transactionHash: '0x48fe50c988ae365100fa4d784d391a8d346d29eb9a6ebe0cef97706672cac14e',

address: '0x5FbDB2315678afecb367f032d93F642f64180aa3',

topics: [ '0x0ec497a8ae5b1ba29c60470ef651def995fac3deebbdcc56c47a4e5f51a4c2bd' ],

data: '0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266000000000000000000000000000000000000000000000000000000000000001e',

logIndex: 0,

blockHash: '0x20a3baef22dda77fc8eba15217a737d272c07c416715bcb1c5f8ba7d1f06b84d',

args: [ '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', BigNumber { value: "30" }, withdrawer: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', withdrawalAccount: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', amount: BigNumber { value: "30" } ],

decode: [Function (anonymous)],

event: 'LogWithdrawal',

eventSignature: 'LogWithdrawal(address,address,uint256)',

removeListener: [Function (anonymous)],

getBlock: [Function (anonymous)],

getTransaction: [Function (anonymous)],

getTransactionReceipt: [Function (anonymous)]

}

Game Design makes use of go concurrency patterns and feature full game simulation.

About

License:GNU Lesser General Public License v3.0


Languages

Language:Go 78.9%Language:JavaScript 9.2%Language:C 7.0%Language:Solidity 3.0%Language:Assembly 0.3%Language:Java 0.3%Language:Sage 0.3%Language:NSIS 0.3%Language:M4 0.3%Language:Makefile 0.1%Language:HTML 0.1%Language:Python 0.1%Language:Shell 0.0%Language:Dockerfile 0.0%Language:Ruby 0.0%