Skip to content

Commit b152f27

Browse files
committed
chore: tcp support
1 parent eb5fd3a commit b152f27

File tree

5 files changed

+133
-5
lines changed

5 files changed

+133
-5
lines changed

App.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import { noise } from '@chainsafe/libp2p-noise'
1010
import { yamux } from '@chainsafe/libp2p-yamux'
1111
import { identify } from '@libp2p/identify'
1212
import { circuitRelayTransport } from '@libp2p/circuit-relay-v2'
13+
import { tcp } from '@libp2p/tcp'
14+
import { kadDHT } from '@libp2p/kad-dht'
1315
import * as filters from '@libp2p/websockets/filters'
1416
import debug from 'debug'
1517

@@ -29,7 +31,8 @@ export default function App () {
2931
}),
3032
webSockets({
3133
filter: filters.all
32-
})
34+
}),
35+
tcp()
3336
],
3437
connectionEncryption: [
3538
noise()
@@ -50,7 +53,8 @@ export default function App () {
5053
})
5154
],
5255
services: {
53-
identify: identify()
56+
identify: identify(),
57+
kadDHT: kadDHT()
5458
}
5559
})
5660

babel.config.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,16 @@ module.exports = function (api) {
88
plugins: [
99
['module-resolver', {
1010
alias: {
11-
'crypto': 'crypto-browserify',
12-
'node:crypto': 'crypto-browserify',
11+
'crypto': 'react-native-quick-crypto',
12+
'node:crypto': 'react-native-quick-crypto',
1313
'stream': 'stream-browserify',
14-
'node:stream': 'stream-browserify'
14+
'node:stream': 'stream-browserify',
15+
'net': 'react-native-tcp-socket',
16+
'node:net': 'react-native-tcp-socket',
17+
'os': 'os-browserify',
18+
'node:os': 'os-browserify',
19+
'path': 'path-browserify',
20+
'node:path': 'path-browserify'
1521
}
1622
}],
1723
['@babel/plugin-transform-private-methods', { loose: true }]

ios/Podfile.lock

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
PODS:
22
- boost (1.76.0)
3+
- CocoaAsyncSocket (7.6.5)
34
- DoubleConversion (1.1.6)
45
- EXApplication (5.3.1):
56
- ExpoModulesCore
@@ -9,8 +10,66 @@ PODS:
910
- ExpoModulesCore
1011
- EXFont (11.4.0):
1112
- ExpoModulesCore
13+
- EXJSONUtils (0.7.1)
14+
- EXManifests (0.7.2):
15+
- ExpoModulesCore
1216
- Expo (49.0.21):
1317
- ExpoModulesCore
18+
- expo-dev-client (2.4.12):
19+
- EXManifests
20+
- expo-dev-launcher
21+
- expo-dev-menu
22+
- expo-dev-menu-interface
23+
- EXUpdatesInterface
24+
- expo-dev-launcher (2.4.14):
25+
- EXManifests
26+
- expo-dev-launcher/Main (= 2.4.14)
27+
- expo-dev-menu
28+
- expo-dev-menu-interface
29+
- ExpoModulesCore
30+
- EXUpdatesInterface
31+
- RCT-Folly (= 2021.07.22.00)
32+
- React-Core
33+
- React-RCTAppDelegate
34+
- expo-dev-launcher/Main (2.4.14):
35+
- EXManifests
36+
- expo-dev-launcher/Unsafe
37+
- expo-dev-menu
38+
- expo-dev-menu-interface
39+
- ExpoModulesCore
40+
- EXUpdatesInterface
41+
- RCT-Folly (= 2021.07.22.00)
42+
- React-Core
43+
- React-RCTAppDelegate
44+
- expo-dev-launcher/Unsafe (2.4.14):
45+
- EXManifests
46+
- expo-dev-menu
47+
- expo-dev-menu-interface
48+
- ExpoModulesCore
49+
- EXUpdatesInterface
50+
- RCT-Folly (= 2021.07.22.00)
51+
- React-Core
52+
- React-RCTAppDelegate
53+
- expo-dev-menu (3.2.2):
54+
- expo-dev-menu/Main (= 3.2.2)
55+
- RCT-Folly (= 2021.07.22.00)
56+
- React-Core
57+
- expo-dev-menu-interface (1.3.0)
58+
- expo-dev-menu/Main (3.2.2):
59+
- EXManifests
60+
- expo-dev-menu-interface
61+
- expo-dev-menu/Vendored
62+
- ExpoModulesCore
63+
- RCT-Folly (= 2021.07.22.00)
64+
- React-Core
65+
- expo-dev-menu/SafeAreaView (3.2.2):
66+
- ExpoModulesCore
67+
- RCT-Folly (= 2021.07.22.00)
68+
- React-Core
69+
- expo-dev-menu/Vendored (3.2.2):
70+
- expo-dev-menu/SafeAreaView
71+
- RCT-Folly (= 2021.07.22.00)
72+
- React-Core
1473
- ExpoKeepAwake (12.3.0):
1574
- ExpoModulesCore
1675
- ExpoModulesCore (1.5.12):
@@ -23,6 +82,7 @@ PODS:
2382
- ExpoModulesCore
2483
- RCT-Folly (= 2021.07.22.00)
2584
- React-Core
85+
- EXUpdatesInterface (0.10.1)
2686
- FBLazyVector (0.72.7)
2787
- FBReactNativeSpec (0.72.7):
2888
- RCT-Folly (= 2021.07.22.00)
@@ -340,6 +400,14 @@ PODS:
340400
- glog
341401
- react-native-get-random-values (1.10.0):
342402
- React-Core
403+
- react-native-quick-crypto (0.6.1):
404+
- OpenSSL-Universal
405+
- React
406+
- React-callinvoker
407+
- React-Core
408+
- react-native-tcp-socket (6.0.6):
409+
- CocoaAsyncSocket
410+
- React-Core
343411
- React-NativeModulesApple (0.72.7):
344412
- hermes-engine
345413
- React-callinvoker
@@ -460,10 +528,17 @@ DEPENDENCIES:
460528
- EXConstants (from `../node_modules/expo-constants/ios`)
461529
- EXFileSystem (from `../node_modules/expo-file-system/ios`)
462530
- EXFont (from `../node_modules/expo-font/ios`)
531+
- EXJSONUtils (from `../node_modules/expo-json-utils/ios`)
532+
- EXManifests (from `../node_modules/expo-manifests/ios`)
463533
- Expo (from `../node_modules/expo`)
534+
- expo-dev-client (from `../node_modules/expo-dev-client/ios`)
535+
- expo-dev-launcher (from `../node_modules/expo-dev-launcher`)
536+
- expo-dev-menu (from `../node_modules/expo-dev-menu`)
537+
- expo-dev-menu-interface (from `../node_modules/expo-dev-menu-interface/ios`)
464538
- ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`)
465539
- ExpoModulesCore (from `../node_modules/expo-modules-core`)
466540
- EXSplashScreen (from `../node_modules/expo-splash-screen/ios`)
541+
- EXUpdatesInterface (from `../node_modules/expo-updates-interface/ios`)
467542
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
468543
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
469544
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
@@ -487,6 +562,8 @@ DEPENDENCIES:
487562
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
488563
- React-logger (from `../node_modules/react-native/ReactCommon/logger`)
489564
- react-native-get-random-values (from `../node_modules/react-native-get-random-values`)
565+
- react-native-quick-crypto (from `../node_modules/react-native-quick-crypto`)
566+
- react-native-tcp-socket (from `../node_modules/react-native-tcp-socket`)
490567
- React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
491568
- React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
492569
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
@@ -508,6 +585,7 @@ DEPENDENCIES:
508585

509586
SPEC REPOS:
510587
trunk:
588+
- CocoaAsyncSocket
511589
- fmt
512590
- libevent
513591
- OpenSSL-Universal
@@ -526,14 +604,28 @@ EXTERNAL SOURCES:
526604
:path: "../node_modules/expo-file-system/ios"
527605
EXFont:
528606
:path: "../node_modules/expo-font/ios"
607+
EXJSONUtils:
608+
:path: "../node_modules/expo-json-utils/ios"
609+
EXManifests:
610+
:path: "../node_modules/expo-manifests/ios"
529611
Expo:
530612
:path: "../node_modules/expo"
613+
expo-dev-client:
614+
:path: "../node_modules/expo-dev-client/ios"
615+
expo-dev-launcher:
616+
:path: "../node_modules/expo-dev-launcher"
617+
expo-dev-menu:
618+
:path: "../node_modules/expo-dev-menu"
619+
expo-dev-menu-interface:
620+
:path: "../node_modules/expo-dev-menu-interface/ios"
531621
ExpoKeepAwake:
532622
:path: "../node_modules/expo-keep-awake/ios"
533623
ExpoModulesCore:
534624
:path: "../node_modules/expo-modules-core"
535625
EXSplashScreen:
536626
:path: "../node_modules/expo-splash-screen/ios"
627+
EXUpdatesInterface:
628+
:path: "../node_modules/expo-updates-interface/ios"
537629
FBLazyVector:
538630
:path: "../node_modules/react-native/Libraries/FBLazyVector"
539631
FBReactNativeSpec:
@@ -575,6 +667,10 @@ EXTERNAL SOURCES:
575667
:path: "../node_modules/react-native/ReactCommon/logger"
576668
react-native-get-random-values:
577669
:path: "../node_modules/react-native-get-random-values"
670+
react-native-quick-crypto:
671+
:path: "../node_modules/react-native-quick-crypto"
672+
react-native-tcp-socket:
673+
:path: "../node_modules/react-native-tcp-socket"
578674
React-NativeModulesApple:
579675
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
580676
React-perflogger:
@@ -614,15 +710,23 @@ EXTERNAL SOURCES:
614710

615711
SPEC CHECKSUMS:
616712
boost: 57d2868c099736d80fcd648bf211b4431e51a558
713+
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
617714
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
618715
EXApplication: 042aa2e3f05258a16962ea1a9914bf288db9c9a1
619716
EXConstants: ce5bbea779da8031ac818c36bea41b10e14d04e1
620717
EXFileSystem: f8b838a880254de42a5a7da20ed5ce12e2697c1b
621718
EXFont: 738c44c390953ebcbab075a4848bfbef025fd9ee
719+
EXJSONUtils: 6802be4282d42b97c51682468ddc1026a06f8276
720+
EXManifests: cf66451b11b2c2f6464917528d792759f7fd6ce0
622721
Expo: 61a8e1aa94311557c137c0a4dfd4fe78281cfbb4
722+
expo-dev-client: 1e20e0d67534fd63da37604747a60e7d69fc46f5
723+
expo-dev-launcher: e9411e0c91abaa448682d0fa688957e7dbff356e
724+
expo-dev-menu: f7036f78c69f0f6ecb386f5543a06266dde64bf5
725+
expo-dev-menu-interface: bda969497e73dadc2663c479e0fa726ca79a306e
623726
ExpoKeepAwake: be4cbd52d9b177cde0fd66daa1913afa3161fc1d
624727
ExpoModulesCore: c480fd4e3c7c8e81f0a6ba3a7c56869f25fe016d
625728
EXSplashScreen: 5ed09ea490155ef603d007d9f194c9e04a4b7980
729+
EXUpdatesInterface: 82ed48d417cdcd376c12ca1c2ce390d35500bed6
626730
FBLazyVector: 5fbbff1d7734827299274638deb8ba3024f6c597
627731
FBReactNativeSpec: 638095fe8a01506634d77b260ef8a322019ac671
628732
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
@@ -646,6 +750,8 @@ SPEC CHECKSUMS:
646750
React-jsinspector: 8baadae51f01d867c3921213a25ab78ab4fbcd91
647751
React-logger: 8edc785c47c8686c7962199a307015e2ce9a0e4f
648752
react-native-get-random-values: 384787fd76976f5aec9465aff6fa9e9129af1e74
753+
react-native-quick-crypto: 455c1b411db006dba1026a30681ececb19180187
754+
react-native-tcp-socket: e724380c910c2e704816ec817ed28f1342246ff7
649755
React-NativeModulesApple: b6868ee904013a7923128892ee4a032498a1024a
650756
React-perflogger: 31ea61077185eb1428baf60c0db6e2886f141a5a
651757
React-RCTActionSheet: 392090a3abc8992eb269ef0eaa561750588fc39d

ios/jslibp2preactnative.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,11 +271,15 @@
271271
"${PODS_ROOT}/Target Support Files/Pods-jslibp2preactnative/Pods-jslibp2preactnative-resources.sh",
272272
"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle",
273273
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
274+
"${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-launcher/EXDevLauncher.bundle",
275+
"${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-menu/EXDevMenu.bundle",
274276
);
275277
name = "[CP] Copy Pods Resources";
276278
outputPaths = (
277279
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle",
278280
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
281+
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevLauncher.bundle",
282+
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevMenu.bundle",
279283
);
280284
runOnlyForDeploymentPostprocessing = 0;
281285
shellPath = /bin/sh;

package.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,27 @@
1616
"@libp2p/bootstrap": "^10.0.7",
1717
"@libp2p/circuit-relay-v2": "^1.0.7",
1818
"@libp2p/identify": "^1.0.6",
19+
"@libp2p/kad-dht": "^11.0.7",
20+
"@libp2p/tcp": "^9.0.7",
21+
"@libp2p/webrtc": "^4.0.10",
1922
"@libp2p/websockets": "^8.0.7",
2023
"@peculiar/webcrypto": "^1.4.3",
2124
"crypto-browserify": "^3.12.0",
2225
"event-target-shim": "^6.0.2",
2326
"events": "^3.3.0",
2427
"expo": "~49.0.15",
28+
"expo-dev-client": "^2.4.12",
2529
"expo-splash-screen": "^0.22.0",
2630
"expo-status-bar": "^1.7.1",
2731
"libp2p": "^1.0.10",
32+
"os-browserify": "^0.3.0",
33+
"path-browserify": "^1.0.1",
2834
"process": "^0.11.10",
2935
"react": "18.2.0",
3036
"react-native": "^0.72.0",
3137
"react-native-get-random-values": "^1.10.0",
38+
"react-native-quick-crypto": "^0.6.1",
39+
"react-native-tcp-socket": "^6.0.6",
3240
"react-native-url-polyfill": "^2.0.0",
3341
"stream-browserify": "^3.0.0",
3442
"text-encoding": "^0.7.0",

0 commit comments

Comments
 (0)