npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

iexec-poco-v2

v1.0.18

Published

[![Build Status](https://drone.iex.ec//api/badges/iExecBlockchainComputing/PoCo/status.svg)](https://drone.iex.ec/iExecBlockchainComputing/PoCo)

Downloads

3

Readme

Build Status

Introduction to PoCo

PoCo Series #1 — About Trust and Agents Incentives

PoCo Series #2 — On the use of staking to prevent attacks

PoCo Series #3 — PoCo protocole update

PoCo UML

Actors :

  • (w) = an account with a wallet key pair
  • (s) = a smart contract created by (w)
  • (p) = application to start ( like java prog) on the responsability of (w) when used
  • (r) = a repository on the responsability of (w)

Actor : Marketplace Creator :

create IexecHub smart contract. IexecHub is composed of WorkerPoolHub,DatasetHub,AppHub,Marketplace Once IexecHub smart contract is created by Marketplace Creator, IexecHub and Marketplace can be used by the others actors scheduler, workers, iExecCloudUser :

blockchain interaction :

Actor : iExecCloudUser

  • iExecCloudUser = U(w)
  • U(s) = a WorkOrder smart contract owned by U(w)

Actor : Scheduler :

  • ScheduleProvider = S(w)
  • S(s) = a WorkerPool smart contract owned by S(w)
  • S(p) = iexec-scheduler = application that schedule a worker pool activity on the responsability of S(w). (works, tasks, datas for result in xtremweb)
  • S(r) = ResultRepository = provide the work result for U(w) on the responsability of S(w)

blockchain interaction :

Actor : Worker :

  • W(w) = RessourceProvider = RessourceProvider wallet
  • W(p) = iexec-worker = xtremweb worker application today

blockchain interaction :

Actor : App Provider

  • A(w) = AppProvider = app Provider wallet
  • A(s) = App = app smart contract created by A(w) with the app characteristics
  • A(r) = AppRepository = provide app reference on the responsability of A(w). . (apps, datas for apps in xtremweb, docker hub for docker app etc ... ) for W(p) usage

blockchain interaction :

Actor : Dataset Provider

  • D(w) = DatasetProvider = dataset Provider wallet
  • D(s) = Dataset = app smart contract created by D(w) with the dataset characteristics
  • D(r) = DatasetRepository = provide dataset reference on the responsability of D(w) for W(p) usage

Optional: usage not yet implemented in V2

Ask Nominal Use Case :

WorkOrderStatusEnum

ContributionStatusEnum

how to build

npm install
./node_modules/.bin/truffle compile

how to migrate

choice 1 :prepare ethereumjs simu

Install the latest testrpc

npm install -g ethereumjs-testrpc

start your testrpc with

testrpc

You must see somting like this atb the end of the log

Listening on localhost:8545

choice 2 : prepare Local geth node

Pull the the following docker image

docker pull iexechub/iexec-geth-local

start container

docker run -d --name iexec-geth-local --entrypoint=./startupGeth.sh -p 8545:8545 iexechub/iexec-geth-local

wait to see in logs the word : LOCAL_GETH_WELL_INITIALIZED :

docker logs -f iexec-geth-local

Your local geth network is ready, you can launch your truffle action

choice 1 or 2 then : it will deploy smart contracts according to the 2_deploy_contracts.js content.

./node_modules/.bin/truffle migrate

how to test

choice 1 or 2 then launch one test :

./node_modules/.bin/truffle test test/00_base.js

choice 1 or 2 then launch ALL tests :

./node_modules/.bin/truffle test

choice 1 or 2 then launch nominal workflow tests :

./node_modules/.bin/truffle test test/*

choice 1 or 2 then launch by contract/by fonctions tests :

./node_modules/.bin/truffle test test/"contract to test"/function to test"

how to launch solidity-coverage analyse

npm run coverage

or

./node_modules/.bin/solidity-coverage
coverage : 12/04/2018

180 passing (12m)
1 pending

-----------------------------|----------|----------|----------|----------|----------------|
File                         |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |
-----------------------------|----------|----------|----------|----------|----------------|
contracts/                  |      100 |    75.16 |      100 |      100 |                |
App.sol                    |      100 |       50 |      100 |      100 |                |
AppHub.sol                 |      100 |      100 |      100 |      100 |                |
Dataset.sol                |      100 |       50 |      100 |      100 |                |
DatasetHub.sol             |      100 |      100 |      100 |      100 |                |
IexecAPI.sol               |      100 |       50 |      100 |      100 |                |
IexecCallbackInterface.sol |      100 |      100 |      100 |      100 |                |
IexecHub.sol               |      100 |    70.54 |      100 |      100 |                |
IexecHubAccessor.sol       |      100 |       75 |      100 |      100 |                |
IexecHubInterface.sol      |      100 |      100 |      100 |      100 |                |
IexecLib.sol               |      100 |      100 |      100 |      100 |                |
Marketplace.sol            |      100 |    88.89 |      100 |      100 |                |
MarketplaceAccessor.sol    |      100 |       50 |      100 |      100 |                |
MarketplaceInterface.sol   |      100 |      100 |      100 |      100 |                |
OwnableOZ.sol              |      100 |       75 |      100 |      100 |                |
SafeMathOZ.sol             |      100 |       75 |      100 |      100 |                |
TestSha.sol                |      100 |      100 |      100 |      100 |                |
WorkOrder.sol              |      100 |       60 |      100 |      100 |                |
WorkerPool.sol             |      100 |    82.69 |      100 |      100 |                |
WorkerPoolHub.sol          |      100 |       75 |      100 |      100 |                |
-----------------------------|----------|----------|----------|----------|----------------|
All files                    |      100 |    75.16 |      100 |      100 |                |
-----------------------------|----------|----------|----------|----------|----------------|

Oyente analyse see here