Skip to content

Instantly share code, notes, and snippets.

View Maxcutex's full-sized avatar

Prince Eno Bassey Maxcutex

View GitHub Profile
@Maxcutex
Maxcutex / flatten.rb
Created February 13, 2020 10:26
Ruby script to flatten a list of list.
require "test/unit/assertions"
include Test::Unit::Assertions
def recursive_flatten(array, results = [])
array.each do |element|
if element.class == Array
recursive_flatten(element, results)
else
results << element
end
end
@Maxcutex
Maxcutex / Election.sol
Created April 10, 2019 10:49
Election Project: complete file
pragma solidity ^0.4.25;
contract Election {
// Model a Candidate
struct Candidate {
uint id;
string name;
uint voteCount;
}
@Maxcutex
Maxcutex / voting.js
Created April 10, 2019 10:25
Election Project - Voting code
function vote (uint _candidateId) public {
// require that they haven't voted before
require(!voters[msg.sender]);
// require a valid candidate
require(_candidateId > 0 && _candidateId <= candidatesCount);
// record that voter has voted
voters[msg.sender] = true;
@Maxcutex
Maxcutex / index.html
Created April 9, 2019 23:18
Election Project - Client Application html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Election Results</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
@Maxcutex
Maxcutex / App.js
Created April 9, 2019 23:16
Election Project - Client applicaiton
App = {
web3Provider: null,
contracts: {},
account: '0x0',
init: function() {
return App.initWeb3();
},
initWeb3: function() {
@Maxcutex
Maxcutex / election.js
Created April 8, 2019 20:44
Election Testing File
var Election = artifacts.require("./Election.sol");
contract("Election", function(accounts) {
var electionInstance;
it("initializes with two candidates", function() {
return Election.deployed().then(function(instance) {
return instance.candidatesCount();
}).then(function(count) {
assert.equal(count, 2);
@Maxcutex
Maxcutex / Election.sol
Last active April 8, 2019 14:59
Election Phase Two completed
pragma solidity ^0.4.24;
contract Election {
// Model a Candidate
struct Candidate {
uint id;
string name;
uint voteCount;
}
@Maxcutex
Maxcutex / Election_initialize_constructor.sol
Last active April 8, 2019 15:00
Election Project - Initialize oonstructor with function
contract Election {
// ...
constructor () public {
addCandidate("Candidate 1");
addCandidate("Candidate 2");
}
// ...
}
@Maxcutex
Maxcutex / Election.sol
Created April 8, 2019 06:40
Election Project - Function to add candidate
contract Election {
// ...
function addCandidate (string _name) private {
candidatesCount ++;
candidates[candidatesCount] = Candidate(candidatesCount, _name, 0);
}
}
@Maxcutex
Maxcutex / Election_modified.sol
Last active April 8, 2019 06:20
Election Project - Step Two election file
contract Election {
// Model a Candidate
struct Candidate {
uint id;
string name;
uint voteCount;
}
// Read/write Candidates
mapping(uint => Candidate) public candidates;