The Bolt network protocol is a network protocol designed for high-performance access to graph databases. Bolt is a connection-oriented protocol, using a compact binary encoding over TCP or web sockets for higher throughput and lower latency.
The reference implementation can be found here. This codebase is the Swift implementation, and is used by Theo, the Swift Neo4j driver.
The implementation supports both SSL-encrypted and plain-text connections, built on SwiftNIO 2. SSL connections can be both have a regular chain of trust, be given an explicit certificate to trust, or be untrusted. Further more, you can implement your own trust behaviour on top.
Note, tests are destructive to the data in the database under test, so run them on a database created especially for running the tests
To use directly with Xcode, type "swift package generate-xcodeproj"
Add the following to your dependencies array in Package.swift:
.package(url: "https://github.com/Neo4j-Swift/Bolt-swift.git", .branch("master")),
and you can now do a
swift build
Add the
pod "BoltProtocol"
to your Podfile, and you can now do
pod install
to have Bolt included in your Xcode project via CocoaPods
Put
github "Neo4j-Swift/Bolt-swift"
in your Cartfile. If this is your entire Cartfile, do
carthage bootstrap
If you have already done that, do
carthage update
instead.
Then do
cd Carthage/Checkouts/bolt-swift
swift package generate-xcodeproj
cd -
And Carthage is now set up. You can now do
carthage build --platform Mac
and you should find a build for macOS. If you want to build for iOS, before generating the Xcode project, remove the ShellOut dependency from Package.swift, and then use --platoform iOS instead. tvOS and watchOS builds with Carthage are currently unavailable.