 So we have two pieces of software that we will introduce today. One is called Red Hat Mobile Application Platform, a short form RHMAP. I conduct training on RHMAP if you're interested. We'll talk after this about the aspects of RHMAP that you may want me to talk a little bit more about. Red Hat Three-Scale API Management Platform. This came from an acquisition not too long ago. You may have got our API management, so this is the API management platform. Both of them have a similarity, a common similarity. A few traits including number one is open source, number two is built on top of Red Hat OpenShift. So you could potentially run this on OpenShift Online, which is our public pass, which you could just simply go to OpenShift.com and you'll leave that's accessible through Wi-Fi and your mobile phones. You can set up on the cloud right now while I speak. You can start using it. You can also install this on-premise. So in other words, it's like a hybrid cloud installation. So what you do is just install the cloud in your data center and start using it. So if you use this as part of a GPT-PTC infrastructure, this is what it looks like. Remember, block cipher is a primary data manner. The GPT-PTC resells the data. It accesses the data through something called REST API, representational state transfer. So you may have a lot of web services. That's not going out of stock. So web services are still around. It's just that the voc and voc version or addition or web services is now REST. So if you're using all good old WSDL, that's still around. I'm not sure about all, but block cipher extends beyond their own enterprise through REST API. So their own partners and vendors or clients could just consume a real-time Bitcoin data through REST API. So a three-scale API management platform provides plugins and gateways. So you might be thinking, all right, I'm throwing big names like mobile app platform and three-scale OS, the open source stuff. Three-scale API management platform is built on top of a web, a high-speed type of performance web server called Nginx, a partner of Red Hat. And Nginx, if you do know a bit about the history of Nginx, is built by lower-end, you know, online multi-and intensely multi-player games. The good ones are built on lower LUF. So, of course, others are built on maybe C++. Lowers really look like C++. Think of C++. So LUA, that's lower. Lower modules comprise of the anti-API management platform. Later on in the demo, you'll be seeing things like integration routes, which sometimes, you know, we affectionately call it APICAS, API CAS. Those have lower modules underneath powering it. And of course, the mobile app, it's built on Node.js, powered by Node.js runtime running on top of OrangeMap mobile app platform. So if you would look at new services you want to aggregate, you want to aggregate on top of this infrastructure, you would see that. So all of which would be consolidated on top of an API management platform like this. And RiverBand Nginx, I mentioned already, in case you want to customize a proxy, add more plugins in there, pick up LUA, a LUA technical manual, and start coding, right? Okay. So when I developed this together with a colleague, the same gentleman's name is Shad Dabi from Philadelphia. You'll see his particulars at the end, Twitter address, GitHub address. So at the first stage, we built a cloud app that connects to the cloud app. Pretty much we're using a Node.js module known as FHMS. If you have heard of FH, it really is a short form for the upstream project for Red Hat mobile app platform called Feed Henry, named after, because the engineers love for Erling, finds Irish spot, not curling, and this is not Winter Olympics. I think there is a really good player by the name of Henry, so they named the upstream Feed Henry. Now the next phase was to add an M-Bass service. What is M-Bass? It's a mobile app as a service. It is basically a REST service, exposed thing in which intellectual property, business logic on top of the cloud app through a REST API. So M-Bass service is a connector or source into the cloud world. We of course did all this on whiteboarding. He's in Philly, I'm in Singapore. We collaborate over conference calls, and we did a bit of whiteboarding. Make sure he got a snapshot of this so we know what to code. We're getting closer to the demo. Again, remind ourselves that we could do a lot. We could basically extend this use case of payment processing in the future. No thanks to technology like M-Bass services. The fact that TreeScale API management platform is all about REST services aggregation it could potentially extend to multiple kinds of services, build multiple mobile app frontends as well. So I'm going a bit fast, and some of these commands, you might want to take a photo and type it into your computer. Just take this all back as homework. I'll probably have some time to run through some of the curl commands. Now, of course, one of the best ways to test APIs is through curl. C-U-R-L, if you want to call it. Anybody not use this before? Okay, everyone seems to be good. Curl, or some of the other command line HTTP test tools are pretty neat. I got curl, I swear by it. So you could do curl commands. The first one being that would be used is already mapped or baked into my mobile app. You can retrieve blocks and transactions. The tail end of the blockchain as of now thanks to block cyber. You could get a couple of Bitcoin transactions using a longer command, and you could have a known address such as this. Put a little question on the leviticus queue. And you could also get the height. Now, rather than block based on the height of the blockchain. I'm not going to go into definitions in Bitcoin too much. That's stuff that you have to research on exactly what is height and what congregates or what attributes a Bitcoin transaction. So why would you or as a Bitcoin startup look into things like API access control? Well, the answer is simple. People that don't pay, they don't get access. I mean money making. This is all about profits. So if they don't buy the right subscription or they have utilized all these transactional quarter for a month, then it's time to shut them down. I'm going to show a demo on that. There's also billing and metrics so you could get invoices, cold invoices at the end of the month or billing cycle. So you could tell all the GBT, BTC startup clients this is how much you have been incurring. And of course I keep mentioning this and probably mention it to death today. Proxy layer that allows aggregational services. That's important because it's all about growing your extending or reaching the ecosystem, growing your cred, your street cred with the ecosystem, building relationships, right? So let's get to the demo. So two aspects of what you want to do and within this, that the scope of this demo is to look from the perspective of a mobile app developer which is also the perspective of the mobile app using the client. You might want to look from the integration after that review because the person really looks at the proxy layer and on behalf of the business, the guys that want to forecast to their investors or the venture cap companies then that's the growth plan for the next five to ten years. And the growth plan really rides on top of the proxy layer, right? If you know that you can scale because the infrastructure scales you got a piece of mind. This is a screenshot of the tool called mobile app developer, mobile app platform used by the mobile app developer. And as you can see from the three layer view earlier on. Phase two, remember that? You have client, you have the cloud app and cloud app runs the business logic and of course the third layer the interface to the rest of the world and that service. You get them all in one view. Now, if you could help me out I do believe I updated this I want to get an earlier version. Do a QR code scan and download the app now otherwise we just go to using a web browser and I know some of us use iPhones. I know I have both Android and iPhone. This will not work with your iPhone. Hey, I went cheap. I did not get that Apple developer subscription. It's for free now. Oh, see. I should have found out. So in case you're using a phone that does not support the Android build there's an Android build, by the way. I might want to flip open the web browser and go to people.redhand.com slash hchan slash fosbtc Okay. This URL is just going to link you to the same app. So if you need it just yell out. So I keep going to these screen shots of three scale API management. The demo is going to be better but all the cool stuff that you would need from the business side of things to know how much utilization of all the good juicy Bitcoin financial information data that your own clientele has been consuming at an individual level to get individualized dashboards. All right. Oh yeah, before that all these are the integrations as you can see here. I attributed a URL pattern which is basically the block cipher way of calling the block cipher REST API. Just put it in and keep on adding in as many of these URL which we call HappyCast and it will extend to different REST services. Lay block cipher to more who knows. All right. Everybody access that app have you seen it already? Okay. You have that app and then if you have your own noble computer you will verify some stuff. You will verify the fact that the same URLs that I picked into the mobile app which is basically accessing the block different aspects of the block cipher REST API retrieves the real data. It's not fake. It's not a sandbox environment where it doesn't go out into the internet world. It's not a query block cipher data. Okay. This is what it looks like. Oops, I was testing it. All right. So what code feature is Bitcoin wallet? So you could actually create your own wallets so you can see a messy messy list of wallet names. These are the current wallet names. So if you want to be sure that you are able to how this is able to work create a wallet and then it will show up in this list. So I'm creating some related to false Asia so who said false B with you? Was that okay? This was from early early early days. So yeah, check it out. So the next link you might want to check of course you might think this is not exactly Bitcoin, right? Yeah, let's hold on a second until I get to the source code. Go type in in this field your favorite wallet name white space included. I think it doesn't limit you on any kind of special characters. Do me a favor, we have false Asia. Put a relationship with false Asia in that name, okay? So maybe I could say false Asia track right BGC So I'll show you the API shortly. Now a few things that you could know if especially you could do a curl command or you could curl and show you shortly using the browser. Take down wallet address client tokens if you want you know you can do screenshots on your phone you can test that stuff, right? You can do a select and copy and paste just to show you that, yes, this is all real data so you could type the same URL that you have seen in client earlier slides in here and you get the latest Bitcoin data. This is actually accessibility block cipher. The entire concept of GPT-BDC this fictitious startup writes over these REST APIs these URL calls. So information that I would need including height and hash, previous hash peer counts and stuff will all appear as long as you have access to Bitcoin data from block cipher. Okay? So if you would know how to query block cipher and here is the block cipher REST API which I researched and from scattering selection of some of the APIs is so rich, right? So I don't have much time to build everything for all the APIs I selected a few, I selected one from the wallet API section, the blockchain section. Do believe I did a transaction API one which you can test out right now, I think it's a third link not fourth link, right? And from there you are able to get data and there looks like this, sorry about the lighting you can test that out very well, okay? So again quite this information like wallet address because those are parameters that you have passed in your URL you have 55 minutes that's all you get to talk all day about this, not enough time So what happened to that wallet I created? Did it show up? So FOSS, hey someone created a FOSS Asia Bitcoin test though ah, alright that's probably mine Bitcoin Asia Bitcoin track right? You can test the blockchain I want to show you the part of TreeScape API shortly with the second option but what you just saw earlier on a minute ago where I used the browser to query the current tail end of the blockchain, you'll probably get this, am I right? You test that out I don't know what it is you can do nobody's got crow here I can tell you can just go here and just take that in you get the same, just compare the hash, 682C that's the tail end 62C is that it? oh you just moved again yeah this is real data so you could keep, oh yeah just keep updating this is the tail end of the blockchain this is real, this is people out there you don't know who they are Silk Road, they are buying something Bitcoin, okay how do I build it? this is the tool mobile app platform aka Feed Henry we don't want to call it Feed Henry because this is the downstream product I'm not selling anything today I don't sell anymore Feed Henry is the upstream so if you go to feedhenry.org FEDD you'll get the source code as well and you get it, I think you'll have the link to the GitHub repo which you can fork it and you can start building a good amount of the entire tool and then you start using a product from Red Hat but anyhow the tool comes with an app preview, that's fine you can already test it I did a lot of testing on the right hand side of the screen so I want to show you some of the source code so this was the index.html the one that you're creating it links to multiple web pages list wallet query section we all like the wallet creation so let's take a look at how you list the wallet so you would get this it calls the key thing here is FHcloud and you pass parameters of path and method to the cloud app so where is the cloud app? here we go, this is the cloud app just go to the wallet.js I told you it's not Node.js I want you, so I hard coded or baked in the location the strings to block cypher and this is how you would get the query now I have a second URL, this URL goes to something strange, look at it's happy one old long string of digits, staging happy class IO, now what is that now remember earlier on I mentioned having a scalable api management platform the one at the bottom where you can aggregate all these services imagine there are more and more services right now there's just one service going out to the cloud this service is already out there this query is going out to that service what is that service? good old block cypher data information that's all financial data information next time you want to talk to a trading app some guys are really good at exchanges and trading platforms you may want to query that service so if that's your business model fine then you just keep on adding you can talk more even if it's too short what else you might be already testing the bitcoin transaction no JS code see the three hard coded transactions are here you might have gathered that when I was building this it was a different year some stuff have changed most of the code remains I moved it to a different project the transactions in the year 2014 which is pretty cool this is testimony to the block cypher or the blockchain ledger project outside of the ledger you don't delete we're not talking about any any laws federal laws of the US or any western society that talks about the number of years that you have to keep an archive of this data I don't know if the block cypher is under any obligation but interestingly this was the year 2014 and you can still get transactions if you want to change to something else you just code that in you might be thinking what kind of model is this well this is a demo so from here you could evolve, you could say you could form your own URL dynamically so that's something to look at what else so why would you make money you invoiced people all this is good you give them mobile front end but how are you going to charge are you going to charge them for downloads you just download my mobile app did I ask you to pay so nice business model get folks to download the mobile app front end I remind you it's a front end so there's still the back end and the back end of course is all that rich good data that you're reselling now for block cipher so you can see the number of hits from this service through 3 scale APM management platform there's a spike, wow I was really testing this that's a small spike hey this is disappointing come on everybody just keep testing and I think this thing will spike up I mentioned invoicing, they invoice on the cycle this is real the money is not real I just put that in as a demo but imagine the money could go up and a startup owner you'll be seeing the cash flow come in right good break amount of my earnings for a month and stuff like that so how did I put in all those metrics oh this is how I set it up so it assigns me that little url that you found strange wasn't it with a staging.imdcans.io if I was to go back to block.js you'll see that there that just means that the url call now gets cut through APM management 3 scale APM management it becomes like a monitoring engine integration engine with monitoring capabilities so that you could know how much you've been making or not making so you could set it up now the pricing now it breaks up into two in a cost per month now this is a really cool part of the demo I hope it works I've got time on getting the troubleshooter earlier version has a little bit of work and that would be limits I could put down things like a limit and I would say if you have a quota you have a plan you need to have a plan that comes with a quota a plan's name is unlimited if you were to put in say a quota once you exceed the quota as a plan of GBTBTC you will not get you won't get any more access alright? there with me now go back to here now these two are the same urls one goes direct to block cipher the second one goes to 3 scale APM management platform first hosted somewhere in a cloud courtesy of Red Hat and then it gets redirected to block cipher it gets the same there same hash same height it's just that the first description the sauce is different now if I was to go over to here I was doing a quick edit so this is the usage limit I say 30,000 transactions within this hour it's active she didn't say no I'm just going to give it to you that's terrible that means we have exceeded I do the same crow command here let's see over here authentication failure they fail because I way exceeded one transaction already I got error sorry no good error handling scenario over here I just threw it out an error occurred so it's real we could set limits in quarters back over here I'm going to give them a lot of quarter that's a big number right now I'm going to test it out but you know 15056 error goes away remember the authentication failure you authorize so that's the limits courtesy of tree scale API management platform mental presentation so test that out we use swagger as well have you heard of swagger and anybody use it it's a great representation of API so if you want to build a developer portal talk more about it not too fancy upload it you can represent the API that you just seen through a swagger document view so as I speak so here's the GBT APTC developer portal click on this link swaggery a very swagger like view shows up there you go there you go query it test that out call here just call it rest API especially if you have your own developer community fans of GBT usually will be your potential business partners already are and they just want to enhance what you have already built simple little mobile app tree scale lower base APCAST and you just want to build more code around it you want to call that developer portal that's fine this is how it will look like underneath the source all the good old JS and just on code I already walked through the source code a little bit talk to you more about the source code after this if you are interested and definitely download the mobile app if you have not done so and fork it from the get up all this is open source if you want to enhance the mobile app client you can do so on your own here's a neat trick you saw the editor I had to go through a browser that I walked through lines of code actually I had most of that heavy lifting wasn't through that mobile app platform it did serve as the initial tooling that created the hello world as a build to code eventually it served as a run time as well because it's running right now on the cloud courtesy of red app and you are able to access other cloud services outside of it but however it is a neat trick you can actually do a get pull here we go get clone of the entire project so what would 3 sub projects I will show you the best so you can download all 3 of them clone all 3 of them you have the mbs you have the application client you have what else you have the cloud app all 3 of them you can just download them get clone them to your pc and hack away I think I did put a documentation up regarding grunt anybody not use grunt before or have you ever used grunt alright okay that's another if you think makes me more confident so the thing about grunt is that it's a really good test runner we swear by it in the especially in Node.js world if you are coding your own mobile apps make sure you have grunt installed it has to be compatible with your the mpm.js libraries that you got and you know it's a moving target or rather it's ever evolving so versions could change if you don't touch the visa code for the last 6 months so all code right so get the code from gpdpdc to talk more after this I'm almost wrapping up almost I just kept these slides there because logos are so cold man that's me my man shut down before friday so you can do a shout out to any of us shout out to him especially he doesn't come to sing about much anymore so get the slides I think the links will work I just kept that all in one last shameless reminder that's the github repo initially the first time I presented it I had to give a cool name so that I got myself accepted at the Red Hat Summit modeling event they like this name so I got accepted mobile API management could change that probably the next time I come back to false asia so I probably have to build a new use case so one part of this talks about all the code that you just seen is there I even put in postman collection anyone use postman oh yes alright postman google postman so I'm starting for it now you could use postman to do some tests that's cool because the way you see the test is done today the APIs it was rudimentary it was crow it was using web browser postman you could do a lot of planning you could do a lot of planning you could do the exercises that we used especially in the bigger team I explained the same thing I just talked about a minute ago the importance of using grunt we're going to use grunt when you are doing local development why would you want to use local development it's a nice little tool you just see one thing for sure I might just tell you the truth you get a red hat guy in the 7er room with a microphone he tells you the truth I'm not a big fan of what you see what you get so clunky I like Adam I like a nice editor like Adam g-edit if you want getting out local microsoft code anyone use that install that on your pc use your favorite editor run grunt and test it coming to the end and then this is how you test it I didn't really put the same test scenarios that you have seen earlier I didn't put postman so just to make it easy for you to test it all out if you have any questions I'll be around for the next few minutes before I go on another track thank you you made it very quick about data retention from black site would you mind repeating data retention I didn't recall I mentioned there's this transaction data and you don't know how long it's all data about 2014 got it what was the point of that so this is just to emphasize the same thing data retention 2014 I don't really know if block cipher is under any obligation to keep data as early as 2014 because the movement behind bitcoin blockchain for that there's no regulatory compliance with regards to transaction data that's hosted on that ledger so I don't know what is the T's and C's of block cipher it's on the blockchain but then again I see where you're going let me throw you to the crowd this if I am block cipher and I'm in a position I have the already is my ledger to delete away transaction data who's going to stop me I don't think they should nobody would use it nobody would use it I think so but it's just an interesting fact that I came across after testing retesting this every few months is that the same data stays as long as the transaction has been committed there's a history that history will not get wiped out but then again I'm speaking on behalf of block cipher I don't know every single blockchain data provider out there so maybe that's a caution do you think your transaction is safe with everybody that you partner with in the blockchain world but it's on the blockchain yeah it should not be deleted it can't be so I have another question have you thought about how you would replace block cipher in your because that's to me a hard part you say get a form of read the data directly from the blockchain do you agree with that statement if you need to good point that's a really nice use case I might want to work on that for the next demo thank you it's limited in terms of functionality right now but I only intend the summary of this is I only intend to spark new ideas so if I see a form on my github repo and it goes on to be a big thing you don't have to pay me any money but I'll be really happy right here today the big idea any questions alright if not thank you so much hope you enjoy the rest of Force Asia the remaining number of hours