eBlocBroker is a smart contract as an autonomous volunteer computing and sharing data resource
broker based on blockchain for e-Science. It applies blockchain technology to provide a market for
computational and data resources to research communities.
You can use a sandbox container provided in the ./docker-compose.yml file for testing inside a Docker environment.
This container provides everything you need to test using a Python 3.7 interpreter.
Start the test environment:
docker-compose up -dTo enter the shell of the running container in the interactive mode, run:
docker exec --detach-keys="ctrl-e,e" -it ebloc-broker_slurm_1 /bin/bash
To stop the container, run:
docker-compose downFirst, from B2ACCESS home page
No account SignUp => Create B2ACCESS user account (username) only
Settings => Security => Create new app password and save it onto ~~/.ebloc-broker/.b2drop_client.txt~ file.
We have a helper script, which you can use to install all required external dependencies:
source ./scripts/setup.shNext, type eblocbroker --help for basic usage information.
In order to submit your job each user should already registered into eBlocBroker using eblocbroker register_provider ~/.ebloc-broker/cfg.yaml
After registration is done, each user should authenticate their ORCID iD using the following http://ebloc-broker-authenticate.duckdns.org/index.php using Brave browser along with MetaMask.
$ eblocbroker submit job.yamljob.yaml :
config:
requester_address: '0x378181ce7b07e8dd749c6f42772574441b20e35f'
provider_address: '0x29e613b04125c16db3f3613563bfdd0ba24cb629'
source_code:
storage_id: ipfs
cache_type: public
path: ~/test_eblocbroker/run_cppr
storage_hours: 0
data:
data1:
hash: 4613abc322e8f2fdeae9a5dd10f17540
data2:
hash: 050e6cc8dd7e889bf7874689f1e1ead6
data3:
cache_type: public
path: /home/alper/test_eblocbroker/small/BVZ-venus
storage_hours: 1
storage_id: ipfs
data_transfer_out: 10
jobs:
job0:
cores: 1
run_time: 60pathshould represented as full path of the corresponding folder.cache_typeshould be variable from [public,private]storage_idshould be variable from [ipfs,ipfs_gpg,none,b2drop,gdrive]
Each provider should run eblocbroker driver for start running the Python script.
This work is supported by the Turkish Directorate of Strategy and Budget under the TAM Project number 2007K12-873.
Developed by Alper Alimoglu and Can Ozturan from Bogazici University, Istanbul. Contact [email protected], [email protected] if necessary.

