$ npm install react-native-eth-daemon --save
$ react-native link react-native-eth-daemon
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-eth-daemon
and addRNEthDaemon.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNEthDaemon.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNEthDaemonPackage;
to the imports at the top of the file - Add
new RNEthDaemonPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':react-native-eth-daemon' project(':react-native-eth-daemon').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-eth-daemon/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-eth-daemon')
- It's necessary to add to "build.gradle(Project)" this:
allprojects { ... flatDir { dirs "$rootDir/../node_modules/react-native-eth-daemon/android/geth" } }
After you added this project successfully to your's, there is still one thing left todo. You need to "include" the GethFramwork in your project. Follow the instructions to include the framework in your project.
Open the "android" project of your React-Native app in Android Studio and add to "build.gradle(Project)" this:
allprojects {
...
flatDir {
dirs "$rootDir/../node_modules/react-native-eth-daemon/android/geth"
}
}
First add to your project's "Build Phases" the following:
- Target Dependencies: RNEthDaemon
- Link Binary With Libraries: Geth.framework (you will need to search it inside ../node_modules/react-native-eth-daemon/ios/Frameworks)
Then, add to your project's "Build Settings", into "Framework Search Path": $(PROJECT_DIR)/../node_modules/react-native-eth-daemon/ios/Frameworks (recursive)
import RNEthDaemon from 'react-native-eth-daemon';
And then use the functions startDaemon/stopDaemon as follow inside your JS:
async function startFunction() {
try {
let result = await RNEthDaemon.start({
enabledEthereum:true,
networkID:3,
enodesNumber:16,
maxPeers:25,
enabledWhisper:false
});
if (result == null) {
Alert.alert('Node successfully started! :D');
}
} catch(e) {
Alert.alert(e.message);
}
}
async function stopFunction() {
try {
let result = await RNEthDaemon.stop();
if (result == null) {
Alert.alert('Node successfully stopped! :D');
}
} catch(e) {
Alert.alert(e.message);
}
}
- We are using this git workflow. Please make sure to read it.
- Make sure to prefix your git commit's with an "topic" like to
[git] blacklisted .idea folder