Whats the first step in creating a blockchain based certification system? - blockchain

I have an understanding of how blockchain dAPPS are built, but I do not know which network I should use or which language to write the script in. Right now I am thinking about using AWS, but I am open to other suggestions.

Related

AWS IoT Device Onboarding

I'm working on a learning project for IoT with AWS IoT Things and ESP32 using Arduino/C (no micro-python). While I have shadows and messages working well, the part I'm not sure about is the best approach to onboard new devices.
Currently the onboarding process is:
I create the Thing in the AWS Console
I create the certs
I save the certs to laptop
I copy cert contents into the Shadow.h then upload the sketch to the ESP32
This feels incredibly manual :(
Hypothetically how would a reseller of ESP32-based IoT devices automate the onboarding process? How can the Things and certs be automated?
Many thanks in advance
Ant
We're talking about provisioning devices in cloud.
If you (or your organization) is adding your own devices to your own cloud, then it's quite easy to automate. Steps 1 and 2 are the cloud-side part of provisioning - just install the required SDK-s and write a script in your favourite supported scripting language to do the dirty work. For steps 3 and 4 you just use the device's own Flash to store the device certificates. Espressif has a useful non-volatile storage system called NVS - it's fairly easy to use and supports Flash encryption (this bit could be more elegant, but it works). You can use their NVS Partition Generator to pre-create the required storage with the device's certs in it, then flash it into the device when setting it up. Device-side provisioning can be scripted together with cloud-side provisioning so you can do the whole thing in a single step. The Arduino IDE is not the tool to use, though. You just need the final program binaries, but everything else you need to create on your own.
If you're talking about a third party taking your device and provisioning it in their cloud, this is a bit more difficult (but not impossible). Presumably they need to do steps 1 & 2 on their own and you need to give them a way to configure their AWS endpoints and certificates on the device. So you need to build some interface which allows them to do it.

Blockchain based database for storing simple records

I want to implement a small blockchain based solution that could serve as Patient Management System. The system should be able to track patients and their medical records/reports. Of course, this system would not be deployed somewhere, its just a university project.
So far, I've started tried to do it with Ethereum. I didn't find a solution using it. Then I tried to use OrbitDB cause I saw it on Ethereum's site in Developer Resources page. But after I had done some POC using OrbitDb, I came to know that it doesn’t claim to be a “blockchain database”, but rather a choice for decentralized apps. Then someone suggested me to use BigchainDb, but after reading about it and trying to make a small project using it, I came to know that it wouldn't fit my needs. I have also read about Fluree but didn't tried it yet as I have already wasted 3 months experimenting with others and didn't want to waste more.
So, could you recommend me a Blockchain-based Database that could serve my needs. Also, some sample code, preferably in Node.js would be a great help for me.
Please excuse me if I have written something wrong or if my understanding is wrong. I am new to Blockchain.
Thanks
You can try IPFS developed at protocol labs
The InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.
here is the guide to understand more into ipfs
here is a simple dapp using ipfs with ethereum
You can use Emercoin public blockchain, subsystem NVS (Name-Value Storage). It allows upload your data with name_new command, update value with name_update, and see history of changes with name_history command.

Need guidance with AWS website backend

I have a website that I am trying to have the web form connect to a MySQL database running on Amazon's RDS to post and retrieve information. I'm an absolute beginner with code but have managed to get myself this far (creative3c.org). I've had coworkers and friends offer some help, but their knowledge doesn't extend to everything I was told I would need (AWS API Gateway, Lambda--anything else?).
I've been pulling my hair out for a week looking through tutorials, articles, and step-by-step guides but so many presume extensive knowledge on the viewer or they all talk about what I don't need (like phpmyadmin--and php won't work for S3 or Lambda).
Am I jumping too far into the really complex stuff? The person that told me to go the AWS route is certified and brilliant with code--but unfortunately they are fickle, busy, and aren't a good teacher to distill their knowledge. I don't know if I should have gone with something simpler. If you view the website, you'll probably understand how basic it is.
I'm stuck and really stressed about finishing this website and appreciate the help to get me in the right direction! I feel I'm so close! I'm really good at scaling up from a small example of exactly what I need--I just need that initial example!
I'm pleased to hear that you've learnt so quickly. All the terminology floating around can be very confusing. Just remember: AWS is just the platform you deploy to. It can be as simple and complicated as you want it to be
I'm not an AWS expert but here's my birdseye view
You could build an entire running website on your laptop then simply deploy that wholesale to a LAMP server that you've created up in AWS. Now you have a web application running in AWS, without using any of the AWS jargon (beanstalks, lambdas...)
Thats when you would follow this link to provision your server: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html
Or you could put the database piece of your application into RDS (a database on the cloud) then put the web application piece in a seperate web server then configure those two servers to talk to each other.
You have a web site but it's now running on two seperate machines
Or (I'm a bit hazy on this) for the web app you could instead deploy bits of your web code to lambda and stick them all together
In all cases you can apply 'elastic beanstalk' to automatically grow and shrink the computers running your site.
Like I said it can be as simple and complicated as you want it to be - and you don't need it to be complicated so the BlueHost option is fine.

What are detailed differences between IPFS vs Storj vs Sia vs Filecoin vs Maidsafe? And which one is the best to use for dapps?

I found lots of decentralized data storage out there but I am a little bit confused about these services. I am not able to figure out which service is best in which scenario? If anyone knows any examples related these then please give.
I have found two examples:
IPFS is used by steemit dapps(like dtube).
Swarm is used by ethereum based projects with the help of web3 API.
Sorry If I have asked any silly thing. I am the beginner of it and I have just started exploring blockchain stuff.
Thanks
IPFS is a protocol for a distributed file system. Ethereum used IPFS for its core module. steemit and dtube are example of IPFS implementation. After open source, many people came with different application of IPFS.

Distributing files using AWS (from AWS to local)

we start working with AWS and are currently making our first steps. We picked a first application we want to move to AWS and maybe even re-build using AWS cloud technology.
Application is connecting to a database and based on some query it is going to create documents. Once created it needs to distribute those documents to local file shares to ahve them on site in case network goes down etc...
Wondering what might be a good approach for getting documents from AWS back to our local fileshares? Would be great if someone could point me into a good direction!
Greetings