Bolt protocol implementation in Swift

pod try BoltProtocol



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. If there is no certificate and key provided with the SSL configuration, Bolt-swift will attempt to generate it.


Note, tests are destructive to the data in the database under test, so run them on a database created especially for running the tests

Getting started

To use directly with Xcode, type "swift package generate-xcodeproj"

Swift Package Manager

Add the following to your dependencies array in Package.swift:

.Package(url: "",
 majorVersion: 0),

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



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


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.