Professional Documents
Culture Documents
Blockchain Assignment Solution
Blockchain Assignment Solution
COMPLETE CODE
pragma solidity ^0.5.8;
contract Auction {
// Data
struct Item {
uint itemId;
uint[] itemTokens;
struct Person {
uint remainingTokens;
uint personId;
address addr;
Person[4] bidders;
uint bidderCount = 0;
ROSH
// Constructor
// Part 1 Task 1. Initialize beneficiary with the address of the smart contract’s owner
beneficiary = msg.sender;
bidders[bidderCount].personId = bidderCount;
bidders[bidderCount].addr = msg.sender;
bidders[bidderCount].remainingTokens = 5;
tokenDetails[msg.sender] = bidders[bidderCount];
bidderCount++;
revert();
if (_itemId > 2) {
revert();
tokenDetails[msg.sender].remainingTokens = balance;
bidders[tokenDetails[msg.sender].personId].remainingTokens = balance;
bidItem.itemTokens.push(tokenDetails[msg.sender].personId);
modifier onlyOwner {
require(beneficiary == msg.sender);
_;
}
ROSH
// Function to reveal winners
if (currentItem.itemTokens.length != 0) {
winners[id] = bidders[winnerId].addr;
OUTPUT
ROSH