SlideShare a Scribd company logo
1 of 14
Download to read offline
Porting native blockchain
libraries to mobile with React
Native
Adem Bilican
adem@cansulting.ch
@ademcan_net
React Native
• JavaScript framework to build mobile apps
• Share code between iOS and Android (and web)
• Easy integration of native code/lib
• Strong community
• Tons of npm packages available
• “native” feeling
Blockchain
• Distributed ledger
• Secure, transparent, trustless
• Core element of cryptocurrencies
React Native + Blockchain
relai.ch theqrl.org elastos.org
Elastos
• Blockchain project bringing the new SmartWeb
• Owning and sharing your data
• Owning and sharing/monetizing any digital asset
• Secure communication via a P2P network
• Crypto-currency used in the whole ecosystem
Native Modules
• Accessing native platform API
• Allows execution of native code from JS directly
• For example
• Calendar access
• Camera access
One step further
• Let’s bring some C++ library into our RN app
• Elastos builds native libraries for the crypto wallet functions
• Signing, verifying, generating mnemonic
• Why native libraries
• More efficient
• Maintained by the core team
• Always up-to-date
• Already available (no additional work required to port to JS)
One step further
JavaScript
Native SDK code
(c/cpp)
Native mobile code
(Objective-C /Java)
React Native
generateMnemonic()
• Mnemonic: list of 12 (to 24) words that contains the access to one’s
cryptocurrency wallet
• A list of public/private key pairs can be generated from the mnemonic
• Loosing mnemonic = loosing access to your wallet
Objective-C++ (iOS)
• Ojective-C++: Possible to write Objective-C code with c++ calls
• Update file extension to .mm (instead of .m)
Objective-C++ (iOS)
Java Native Interface (Android)
JavaScript
Java
JNI
C++
Java Native Interface (Android)
Thank you

More Related Content

What's hot

Microsoft signal r
Microsoft signal rMicrosoft signal r
Microsoft signal r
rustd
 
SignalR for ASP.NET Developers
SignalR for ASP.NET DevelopersSignalR for ASP.NET Developers
SignalR for ASP.NET Developers
Shivanand Arur
 
Building Realtime Web Applications With ASP.NET SignalR
Building Realtime Web Applications With ASP.NET SignalRBuilding Realtime Web Applications With ASP.NET SignalR
Building Realtime Web Applications With ASP.NET SignalR
Shravan Kumar Kasagoni
 

What's hot (20)

Microsoft signal r
Microsoft signal rMicrosoft signal r
Microsoft signal r
 
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...
 
Building Real Time Web Applications with SignalR (NoVA Code Camp 2015)
Building Real Time Web Applications with SignalR (NoVA Code Camp 2015)Building Real Time Web Applications with SignalR (NoVA Code Camp 2015)
Building Real Time Web Applications with SignalR (NoVA Code Camp 2015)
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 
Imagination's the Limit: Microservices in Node.js
Imagination's the Limit: Microservices in Node.jsImagination's the Limit: Microservices in Node.js
Imagination's the Limit: Microservices in Node.js
 
[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina
[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina
[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina
 
Kube 1.2
Kube 1.2Kube 1.2
Kube 1.2
 
We don't need consensus: All agreed?
We don't need consensus: All agreed?We don't need consensus: All agreed?
We don't need consensus: All agreed?
 
Serverless Architectures
Serverless ArchitecturesServerless Architectures
Serverless Architectures
 
Top conf serverlezz
Top conf   serverlezzTop conf   serverlezz
Top conf serverlezz
 
How we use Python at Bitbucket
How we use Python at BitbucketHow we use Python at Bitbucket
How we use Python at Bitbucket
 
SignalR for ASP.NET Developers
SignalR for ASP.NET DevelopersSignalR for ASP.NET Developers
SignalR for ASP.NET Developers
 
SignalR
SignalRSignalR
SignalR
 
SignalR
SignalRSignalR
SignalR
 
Altitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our DestinyAltitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our Destiny
 
Serverless haskell
Serverless haskellServerless haskell
Serverless haskell
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring Cloud
 
Building Realtime Web Applications With ASP.NET SignalR
Building Realtime Web Applications With ASP.NET SignalRBuilding Realtime Web Applications With ASP.NET SignalR
Building Realtime Web Applications With ASP.NET SignalR
 
Part 3 of the REAL Webinars on Oracle Cloud Native Application Development (J...
Part 3 of the REAL Webinars on Oracle Cloud Native Application Development (J...Part 3 of the REAL Webinars on Oracle Cloud Native Application Development (J...
Part 3 of the REAL Webinars on Oracle Cloud Native Application Development (J...
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1
 

Similar to Porting native blockchain libraries to mobile with React Native

Taking The Cloud Native
Taking The Cloud NativeTaking The Cloud Native
Taking The Cloud Native
Corey Clark, Ph.D.
 
Concerto conmoto
Concerto conmotoConcerto conmoto
Concerto conmoto
mskmoorthy
 

Similar to Porting native blockchain libraries to mobile with React Native (20)

10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdf10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdf
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
 
Block chain technology
Block chain technology Block chain technology
Block chain technology
 
Top 10 programming languages for blockchain professionals
Top 10 programming languages for blockchain professionalsTop 10 programming languages for blockchain professionals
Top 10 programming languages for blockchain professionals
 
Block chain technology
Block chain technologyBlock chain technology
Block chain technology
 
Serverless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhiskServerless APIs with Apache OpenWhisk
Serverless APIs with Apache OpenWhisk
 
OSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolutionOSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolution
 
Blockchain Expert Solution portfolio
Blockchain Expert Solution portfolioBlockchain Expert Solution portfolio
Blockchain Expert Solution portfolio
 
Coinbase Node
Coinbase NodeCoinbase Node
Coinbase Node
 
Get Ready for Coinbase Node
Get Ready for Coinbase NodeGet Ready for Coinbase Node
Get Ready for Coinbase Node
 
Jeff McDonald - Практическая реализация Блокчейн-проектов с использованием NEM
Jeff McDonald - Практическая реализация Блокчейн-проектов с использованием NEMJeff McDonald - Практическая реализация Блокчейн-проектов с использованием NEM
Jeff McDonald - Практическая реализация Блокчейн-проектов с использованием NEM
 
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
 
INTERFACE, by apidays - Now that we have K8s, can we stop re-inventing API P...
INTERFACE, by apidays  - Now that we have K8s, can we stop re-inventing API P...INTERFACE, by apidays  - Now that we have K8s, can we stop re-inventing API P...
INTERFACE, by apidays - Now that we have K8s, can we stop re-inventing API P...
 
The Future of Web Application Architectures
The Future of Web Application ArchitecturesThe Future of Web Application Architectures
The Future of Web Application Architectures
 
Node.js Chapter1
Node.js Chapter1Node.js Chapter1
Node.js Chapter1
 
Programming for the Internet of Things
Programming for the Internet of ThingsProgramming for the Internet of Things
Programming for the Internet of Things
 
Introducing flow the new blockchain for open worlds
Introducing flow  the new blockchain for open worldsIntroducing flow  the new blockchain for open worlds
Introducing flow the new blockchain for open worlds
 
Taking The Cloud Native
Taking The Cloud NativeTaking The Cloud Native
Taking The Cloud Native
 
Dockerfy Your CI/CD - DevOpsDays Austin 2014
Dockerfy Your CI/CD - DevOpsDays Austin 2014Dockerfy Your CI/CD - DevOpsDays Austin 2014
Dockerfy Your CI/CD - DevOpsDays Austin 2014
 
Concerto conmoto
Concerto conmotoConcerto conmoto
Concerto conmoto
 

Recently uploaded

原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
AS
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (9)

Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pureBromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
Bromazolam CAS 71368-80-4 high quality opiates, Safe transportation, 99% pure
 
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
原版定制英国伦敦大学金史密斯学院毕业证原件一模一样
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Abortion pills in Riyadh+966572737505 cytotec jeddah
Abortion pills in Riyadh+966572737505 cytotec jeddahAbortion pills in Riyadh+966572737505 cytotec jeddah
Abortion pills in Riyadh+966572737505 cytotec jeddah
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Mobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android InstallationMobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android Installation
 

Porting native blockchain libraries to mobile with React Native