Skip to content

Instantly share code, notes, and snippets.

Pedro Costa pedroduartecosta

  • Porto
Block or report user

Report or block pedroduartecosta

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View oracle06.sol
//triggered when there's a consensus on the final result
event UpdatedRequest (
uint id,
string urlToQuery,
string attributeToFetch,
string agreedValue
View oracle05.sol
//called by the oracle to record its answer
function updateRequest (
uint _id,
string memory _valueRetrieved
) public {
Request storage currRequest = requests[_id];
//check if oracle is in the list of trusted oracles
//and if the oracle hasn't voted yet
View oracle04.sol
//event that triggers oracle outside of the blockchain
 event NewRequest (
uint id,
string urlToQuery,
string attributeToFetch
View oracle03.sol
function createRequest (
string memory _urlToQuery,
string memory _attributeToFetch
uint lenght = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, ""));
Request storage r = requests[lenght-1];
// Hardcoded oracles address
View oracle02.sol
// defines a general api request
struct Request {
uint id; //request id
string urlToQuery; //API url
string attributeToFetch; //json attribute (key) to retrieve in the response
string agreedValue; //value from key
mapping(uint => string) anwers; //answers provided by the oracles
mapping(address => uint) quorum; //oracles which will query the answer (1=oracle hasn't voted, 2=oracle has voted)
View oracle01.sol
pragma solidity >=0.4.21 <0.6.0;
contract Oracle {
 Request[] requests; //list of requests made to the contract
 uint currentId = 0; //increasing request id
 uint minQuorum = 2; //minimum number of responses to receive before declaring final result
 uint totalOracleCount = 3; // Hardcoded oracle count

Keybase proof

I hereby claim:

  • I am pedroduartecosta on github.
  • I am pedroc ( on keybase.
  • I have a public key ASAzPvCsscwUOE487ulXNKdyfk-Vfu-9gwYaWGmGJq1f-wo

To claim this, I am signing this object:

View metrics.scala
val holdout = model.transform(test).select("prediction", "DelayOutputVar")
val rm = new RegressionMetrics( =>
(x(0).asInstanceOf[Double], x(1).asInstanceOf[Double])))
println("sqrt(MSE): " + Math.sqrt(rm.meanSquaredError))
println("mean absolute error: " + rm.meanAbsoluteError)
println("R Squared: " + rm.r2)
println("Explained Variance: " + rm.explainedVariance + "\n")
View creating-features-vector.scala
val categoricalVariables = if(useCategorical){
Array("Origin", "Dest")
val categoricalIndexers = if(useCategorical){ => new StringIndexer().setInputCol(i).setOutputCol(i+"Index").setHandleInvalid("skip"))
You can’t perform that action at this time.